A Listák ábécé Szerinti Rendezése

Tartalomjegyzék:

A Listák ábécé Szerinti Rendezése
A Listák ábécé Szerinti Rendezése

Videó: A Listák ábécé Szerinti Rendezése

Videó: A Listák ábécé Szerinti Rendezése
Videó: Bekezdések rendezése WORD-ben - napiinfopercek | 033 2024, November
Anonim

Bármely azonos típusú adatsorozat ábrázolható listaként. A listák megrendelhetők és nem rendezhetők. Ez utóbbi esetben az adatokkal való munka, a kívánt érték megtalálása és a lista elemeihez való hozzáférés bizonyos nehézségeket okoz. A karakterlánc-változók listája általában ábécé sorrendben történik. Számos rendezési módszer létezik, mindegyik esetben a legoptimálisabb algoritmust kell választania.

A listák ábécé szerinti rendezése
A listák ábécé szerinti rendezése

Utasítás

1. lépés

A legjobb rendezési módszer kiválasztásakor két dolgot kell figyelembe venni: a rendezési művelethez szükséges időt és a kiegészítő tároláshoz szükséges memória mennyiségét. Azok a rendezési algoritmusok, amelyek nem igényelnek további memóriát, a "helyben" rendezésre utalnak. Az egyik legkönnyebben megvalósítható egy lassú buborék-rendezés, amely a lista minden elempárját beolvassa és helyet cserél a kívánt sorrendtől függően.

2. lépés

Gyorsabb rendezési módszer létezik, ha megtalálja a minimum vagy a maximális elemet a listában. Betűrend szerinti rendezés esetén minden alkalommal, amikor végigjárja a listát, meg kell találnia annak maximális elemét - ez egy karakterlánc lesz, amely az ábécé elejéhez legközelebb eső betűvel kezdődik. Miután megtalálta, a karakterláncot felcserélik a lista legelső elemével az első menetben. A lista további mérlegelésével az első helyet kizárják, a következő maximális elemet keresik, a második helyre helyezik stb. A rendezési program kódja C ++ nyelven a lista maximális elemének megtalálásának módszerével: String Arr [20], cTemp; int N = 20, Max, Pos; for (int i = 0; i <N- 1; i ++) {Max = Arr ; Pos = i; for (int j = 0; j <N; j ++) {if (Arr [j] <Max) {Max = Arr [j]; Pos = j; } cTemp = Arr ; Arr = Arr [Pos]; Arr [Poz] = cTemp; }}

3. lépés

A karakterlánc-adatok listában történő rendezésének legoptimálisabb megoldása a beszúrás rendezése. Lényege abban rejlik, hogy a listán való minden egyes áthaladással egy bizonyos számú elemnek van egy elrendezett része a listának, így a következő vizsgált elem a lista megfelelő helyére kerül. A beszúrási rendezési algoritmus C ++ kódja: String Arr [20], cTemp; int N = 20; for (int i = 1, j = 0; i <N; i ++) {cTemp = Arr ; j = i - 1; míg (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; j--; ha (j <0) megtörik; Arr [j + 1] = cTemp; }}

Ajánlott: