Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теорія.doc
Скачиваний:
2
Добавлен:
03.11.2018
Размер:
308.74 Кб
Скачать

Генерація випадкових чисел

Заголовний файл: <stdlib.h>

Функція rand()

Синтаксис:

int rand(void);

Повертає випадкове ціле число в діапазоні від 0 до RAND_MAX.

Функція srand()

Синтаксис:

void srand(unsigned к);

Ініціалізує генератор випадкових чисел.

Функції

Синтаксис:

тип_поверн_значення ім'я_функції ([список_аргументів])

{

<оператори тіла функції>;

}

Рекурсивні функції

Прямою (безпосередньою) рекурсією називається рекурсія, при якій всередині тіла деякої функції міститься виклик тієї ж функції.

void fn(int i)

{

     /* ... */

     fn(i);

     /* ... */

}

Непрямою рекурсією називається рекурсія, що здійснює рекурсивний виклик функції шляхом ланцюга викликів інших функцій. При цьому всі функції ланцюга, що здійснюють рекурсію, вважаються також рекурсивними.

Непряма рекурсія:

Класи пам’яті

Клас пам'яті

Ключове слово

Час існування

Область дії

Автоматичний

auto

тимчасово

блок

Регістровий

register

тимчасово

блок

Статичний локальний

static

постійно

блок

Статичний глобальний

static

постійно

файл

Зовнішній

extern

постійно

програма

Основні методи сортування масивів

Метод бульбашкового сортування

Метод "бульбашкового сортування" ґрунтується на перестановці сусідніх елементів. Для впорядкування елементів масиву здійснюються повторні проходи по масиву.

Переміщення елементів масиву здійснюється таким чином: масив переглядається зліва направо, здійснюється порівняння пари сусідніх елементів; якщо елементи в парі розміщені в порядку зростання, вони лишаються без змін, а якщо ні - міняються місцями.

В результаті першого проходу найбільше число буде поставлено в кінець масиву. У другому проході такі операції виконуються над елементами з першого до (N-1)-ого, у третьому - від першого до (N-2)-ого і т.д. Впорядкування масиву буде закінчено, якщо при проході масиву не виконається жодної перестановки елементів масиву. Факт перестановки фіксується за допомогою деякої змінної (у наступному прикладі - is), яка на початку має значення 0 і набуває значення 1 тоді, коли виконається перестановка в якій-небудь парі.

Сортування методом вибору

Даний метод сортування передбачає наступні дії: масив переглядається перший раз, знаходиться мінімальний елемент цього масиву, який міняється місцями з першим елементом. Другий раз масив переглядається, починаючи з другого елементу. Знову знаходиться мінімальний елемент, який міняється місцями з другим елементом масиву.

Даний процес виконується до тих пір, поки не буде поставлено на місце N-1 елемент.

Сортування вставками

Даний метод сортування називається сортування вставками, так як на і-му етапі відбувається "вставка" і-ого елемента a[i] в потрібну позицію серед елементів a[1], a[2], …, a[i-1], які вже впорядковані. Після цієї вставки перші і елементів будуть впорядковані.

Швидке сортування

Швидке сортування полягає в тому, що множина елементів В { k1, k2, …, kn } перетворюється на множину B1, {k1}, B2, де В1 - підмножина В з елементами, не більшими за k1, а В2 - підмножина В з елементами більшими k1. Причому елемент k1 після розбиття множини В буде перебувати на потрібному місці. Далі до множин B1 і B2 знову застосовують впорядкування швидким сортуванням.

Блокове сортування

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]