Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 1.12.1 Метод бульбашкового сортування - Програмування С, С++теорія та практика (частина 1) - Studbook
Главная->Інформатика та програмування->Содержание->1.12.1 Метод бульбашкового сортування

Програмування С, С++теорія та практика (частина 1)

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

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

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

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

Масив до впорядкування

22

20

-1

-40

88

-75

-22

Перший перегляд масиву

20

-1

-40

22

-75

-22

88

Другий перегляд масиву

-1

-40

20

-75

-22

22

88

Третій перегляд масиву

-40

-1

-75

-22

20

22

88

Четвертий перегляд масиву

-40

-75

-22

-1

20

22

88

П'ятий перегляд масиву

-75

-40

-22

-1

20

22

88

Рис. 1.15. Бульбашкове сортування

 

сопз'Ь п=10;

іп£ а[п], і, с, із;

/* ... */ йо { із=0 ;

£ог (і=1;і<п;і++) і£ (а[і-1]>а[і])

{

с=а[і]; а[і]=а[і-1]; а[і-1]=с; із=1 ;

} ;

} мЬіІе (із);

 

60