Warning: session_start(): open(C:\Windows\temp\sess_2b9a8vqtjo7kh9lmcppv324521, O_RDWR) failed: No space left on device (28) in C:\www\lemma4.1php\login.php on line 15 Warning: session_commit(): open(C:\Windows\temp\sess_2b9a8vqtjo7kh9lmcppv324521, O_RDWR) failed: No space left on device (28) in C:\www\lemma4.1php\login.php on line 36 Warning: session_commit(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:\Windows\temp) in C:\www\lemma4.1php\login.php on line 36 Основы языка Си


Одной из наиболее часто производимых над массивом операций является сортировка.


Сортировкой массива называется процедура упорядочивания его элементов.


Существует множество алгоритмов сортировки, которые различаются по скорости выполнения и по эффективности использования памяти.


Рассмотрим подробно алгоритм "Пузырек", который не относится к эффективным алгоритмам. Однако он прост для понимания и в случаях небольшой размерности массива работает вполне приемлемо.


Пусть нам дан неупорядоченный массив:


12

89

3

56

97

71

4

37

10

2


Требуется отсортировать его по возрастанию.


Будем последовательно сравнивать два соседних элемента. Если какой-либо элемент оказался больше правого соседа, то меняем эти два элемента местами.


В результате первой итерации массив приобретет вид:


12

3

56

89

71

4

37

10

2

97


Мы видим, что самый большой элемент «всплыл» в конец массива. При этом после одной итерации у нас получился отсортированный «хвост», состоящий из одного элемента.


Повторим эти действия несколько раз. После 4-х итераций наш массив будет иметь отсортированный «хвост» из 4-х элементов.


3

12

4

37

10

2

56

71

89

97


Повторяя эти действия n-1 раз (n – размерность массива), мы получим полностью отсортированный массив.


Листинг программы, реализующей рассмотренный алгоритм, приведен ниже:


Ассоциативная связь


Эта программа выдает следующий результат:


Ассоциативная связь