Kuidas Loend Tähestiku Järgi Sortida

Sisukord:

Kuidas Loend Tähestiku Järgi Sortida
Kuidas Loend Tähestiku Järgi Sortida

Video: Kuidas Loend Tähestiku Järgi Sortida

Video: Kuidas Loend Tähestiku Järgi Sortida
Video: 🇪🇪 Eesti Paarismeistrivõistlused 2021 ❂ Liider Grupp ❂ MPO Finaal E9 2024, November
Anonim

Mis tahes sama tüüpi andmete järjestust saab esitada loendina. Loendeid saab tellida ja järjestada. Viimasel juhul tekitab teatud raskusi andmetega töötamine, soovitud väärtuse leidmine ja juurdepääs loendi elementidele. Stringimuutujate loetelu on tavaliselt järjestatud tähestiku järgi. Sorteerimismeetodeid on palju, igal juhul peaksite valima optimaalseima algoritmi.

Kuidas loend tähestiku järgi sortida
Kuidas loend tähestiku järgi sortida

Juhised

Samm 1

Parima sorteerimismeetodi valimisel tuleb arvestada kahega: sortimisoperatsiooniks kuluv aeg ja abimälu jaoks vajalik mälumaht. Sortimisalgoritme, mis ei vaja lisamälu, nimetatakse "paigas". Üks lihtsamini rakendatav on aeglane mullide sortimine, mis skaneerib loendis iga üksikpaari ja vahetab kohti vastavalt soovitud järjekorrale.

2. samm

On olemas kiirem sortimismeetod, leides loendist minimaalse või maksimaalse üksuse. Tähestikulise sorteerimise korral peate iga kord, kui loendi läbite, leidma selle maksimaalse elemendi - see on string, mis algab tähestiku algusele lähima tähega. Kui string on leitud, vahetatakse see loendis esimese käigu esimese elemendiga. Loendi edasisel kaalumisel välistatakse esikoht, otsitakse järgmist maksimaalset elementi, asetatakse see teisele kohale jne. Sorteerimisprogrammi kood C ++ keeles loendi maksimaalse elemendi leidmise meetodiga: 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 [Pos] = cTemp; }}

3. samm

Kõige optimaalsem lahendus stringi andmete loendis tellimiseks on sisestamise sortimine. Selle olemus seisneb selles, et iga loendi läbimisega on loendi järjestatud osa teatud arv elemente, seega asetatakse järgmine vaadeldav element loendis sobivasse kohta. Sisestuse sorteerimise algoritmi C ++ kood: String Arr [20], cTemp; int N = 20; for (int i = 1, j = 0; i <N; i ++) {cTemp = Arr ; j = i - 1; samas (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; j--; kui (j <0) puruneb; Arr [j + 1] = cTemp; }}

Soovitan: