Kako Razvrstiti Seznam Po Abecedi

Kazalo:

Kako Razvrstiti Seznam Po Abecedi
Kako Razvrstiti Seznam Po Abecedi
Anonim

Katero koli zaporedje podatkov iste vrste je mogoče predstaviti kot seznam. Seznami so lahko urejeni in neurejeni. V slednjem primeru delo s podatki, iskanje želene vrednosti in dostop do elementov seznama povzročajo določene težave. Seznam spremenljivk niza je običajno razvrščen po abecedi. Obstaja veliko načinov razvrščanja, v vsakem primeru pa izberite najbolj optimalen algoritem.

Kako razvrstiti seznam po abecedi
Kako razvrstiti seznam po abecedi

Navodila

Korak 1

Pri izbiri najboljšega načina razvrščanja je treba upoštevati dve stvari: čas, potreben za postopek razvrščanja, in količino pomnilnika, potrebnega za pomožno shranjevanje. Algoritmi za razvrščanje, ki ne potrebujejo dodatnega pomnilnika, se imenujejo sorte "na mestu". Eno najlažje izvedljivih je počasna razvrstitev mehurčkov, ki pregleda vsak par elementov na seznamu in zamenja mesta, odvisno od želenega vrstnega reda.

2. korak

Obstaja hitrejša metoda razvrščanja z iskanjem najmanjšega ali največjega elementa na seznamu. V primeru razvrščanja po abecedi morate vsakič, ko greste po seznamu, poiskati njegov največji element - to bo niz, ki se začne s črko, ki je najbližja začetku abecede. Ko je niz pri prvem prehodu zamenjan s prvim elementom na seznamu. Po nadaljnjem obravnavanju seznama se prvo mesto izključi, poišče se naslednji največji element, postavi se na drugo mesto itd. Koda programa za razvrščanje v jeziku C ++ z metodo iskanja največjega elementa seznama: String Arr [20], cTemp; int N = 20, Max, Pos; for (int i = 0; i <N- 1; i ++) {Max = Arr ; Poz = i; for (int j = 0; j <N; j ++) {if (Arr [j] <Max) {Max = Arr [j]; Poz = j; } cTemp = Arr ; Arr = Arr [Poz]; Arr [Pos] = cTemp; }}

3. korak

Najbolj optimalna rešitev za razvrščanje nizovnih podatkov na seznamu je sortiranje vstavljanja. Njeno bistvo je v tem, da je ob vsakem prehodu skozi seznam urejen del seznama določenega števila elementov, zato je naslednji obravnavani element postavljen na primerno mesto na seznamu. Koda C ++ algoritma za razvrščanje vstavljanja: String Arr [20], cTemp; int N = 20; for (int i = 1, j = 0; i <N; i ++) {cTemp = Arr ; j = i - 1; medtem ko (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; j--; če je (j <0) prekinitev; Arr [j + 1] = cTemp; }}

Priporočena: