Як впорядкувати список за алфавітом
Будь-яку послідовність даних одного типу можна представити у вигляді списку. Списки бувають впорядкованими і неупорядкованими. В останньому випадку робота з даними, пошук потрібного значення, звернення до елементів списку викликають певні труднощі. перелік строкових змінних, як правило, впорядковується за алфавітом. Існує багато методів сортування, в кожному конкретному випадку слід вибирати найбільш оптимальний алгоритм.
1
При виборі найкращого методу сортування слід враховувати два параметри: час, що витрачається на операцію упорядкування, і обсяг необхідної пам`яті для допоміжного зберігання даних. Алгоритми сортування, які не потребують використання додаткової пам`яті, відносять до сортувань «на місці». Однією з найпростіших для реалізації вважається повільна «бульбашкова» сортування, при якій здійснюється перегляд кожної пари елементів в списку і проводиться обмін місцями в залежності від бажаного порядку.
2
Існує більш швидкий метод сортування за допомогою знаходження мінімального або максимального елемента в списку. У випадку з сортуванням по алфавітом при кожному проході за списком потрібно знайти його максимальний елемент - це буде рядок, що починається на найближчу до початку алфавіту букву. Після знаходження рядок міняється місцями з найпершим елементом списку на першому проході. При подальшому розгляді списку перше місце виключається, шукається наступний максимальний елемент, ставиться вже на друге місце і т.д. Код програми сортування на С ++ методом знаходження максимального елемента списку: String Arr [20], cTemp-int N = 20, Мах, РOS-for (int i = 0 i lt; N-1 i ++) {Max = Arr [i] - Pos = i- for (int j = 0 j lt; N- j ++) {if (Arr [j] lt; Max) {Max = Arr [j] - Pos = j-} cTemp = Arr [i] -Arr [i] = Arr [Pos] -Arr [Pos] = cTemp-}}
3
Найбільш оптимальним рішенням упорядкування строкових даних в списку можна назвати сортування вставками. Її суть полягає у тому, що при кожному проході за списком є упорядкована частина списку з певної кількості елементів, таким чином, наступний розглянутий елемент поміщається на відповідне йому місце в списку. Код програми на С ++ алгоритму сортування вставками: String Arr [20], cTemp-int N = 20-for (int i = 1, j = 0 i lt; N- i ++) {cTemp = Arr [i] - j = i - 1 while (cTemp lt; Arr [j]) {Arr [j + 1] = Arr [j] - j --- if (j lt; 0) break- Arr [j + 1] = cTemp-}}
Корисна порада
Крім розглянутих способів упорядкування, найкращі результати дають такі алгоритми сортування: підрахунком, злиттям, перемішуванням (або шейкерні сортування), гноми і сортування за допомогою двійкового дерева.
Статті за темою "Як впорядкувати список за алфавітом"
Оцініть, будь ласка статтю