Kaip Rūšiuoti Sąrašą Abėcėlės Tvarka

Turinys:

Kaip Rūšiuoti Sąrašą Abėcėlės Tvarka
Kaip Rūšiuoti Sąrašą Abėcėlės Tvarka

Video: Kaip Rūšiuoti Sąrašą Abėcėlės Tvarka

Video: Kaip Rūšiuoti Sąrašą Abėcėlės Tvarka
Video: Pakuotės kelionė nuo rūšiavimo konteinerio iki parduotuvės lentynos 2024, Balandis
Anonim

Bet kuri to paties tipo duomenų seka gali būti pateikiama kaip sąrašas. Sąrašai gali būti užsakomi ir be jų. Pastaruoju atveju darbas su duomenimis, norimos vertės radimas ir prieiga prie sąrašo elementų sukelia tam tikrų sunkumų. Styginių kintamųjų sąrašas paprastai rūšiuojamas abėcėlės tvarka. Yra daug rūšiavimo metodų, kiekvienu atveju turėtumėte pasirinkti optimaliausią algoritmą.

Kaip rūšiuoti sąrašą abėcėlės tvarka
Kaip rūšiuoti sąrašą abėcėlės tvarka

Nurodymai

1 žingsnis

Renkantis geriausią rūšiavimo būdą, reikia atsižvelgti į du dalykus: rūšiavimo operacijai reikalingą laiką ir atminties kiekį, reikalingą pagalbiniam saugojimui. Rūšiavimo algoritmai, kuriems nereikia papildomos atminties, yra rūšiuojami kaip „vietoje“. Vienas iš paprasčiausiai įgyvendinamų yra lėtas burbulų rūšiavimas, kuris nuskaito kiekvieną elementų porą sąraše ir keičia vietas pagal norimą tvarką.

2 žingsnis

Yra greitesnis rūšiavimo metodas, surandant minimalų arba didžiausią elementą sąraše. Rūšiuojant abėcėlės tvarka, kiekvieną kartą, kai einate per sąrašą, turite rasti maksimalų jo elementą - tai bus eilutė, prasidedanti raide, esančia arčiausiai abėcėlės pradžios. Suradus, eilutė pakeičiama su pirmuoju sąrašo elementu pirmame leidime. Atsižvelgus į sąrašą, pirmoji vieta neįtraukiama, ieškoma kito maksimalaus elemento, dedama į antrą vietą ir kt. Rūšiavimo programos kodas C ++, taikant metodą rasti maksimalų sąrašo elementą: String Arr [20], cTemp; int N = 20, Max, Pos; for (int i = 0; i <N- 1; i ++) {Max = Arr ; Pos = i; už (int j = 0; j <N; j ++) {if (Arr [j] <Max) {Max = Arr [j]; Pos = j; } cTemp = Arr ; Arr = Arr [Pos]; Arr [Poz.] = CTemp; }}

3 žingsnis

Optimaliausias eilutės duomenų sąraše užsakymo sprendimas yra įterpimo rūšiavimas. Jo esmė slypi tame, kad kiekvieną kartą pereinant sąrašą, yra tam tikro elementų skaičiaus sutvarkyta sąrašo dalis, taigi kitas svarstomas elementas dedamas į tinkamą sąrašo vietą. Įterpimo rūšiavimo algoritmo C ++ kodas: String Arr [20], cTemp; int N = 20; for (int i = 1, j = 0; i <N; i ++) {cTemp = Arr ; j = i - 1; o (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; j--; jei (j <0) pertrauka; Arr [j + 1] = cTemp; }}

Rekomenduojamas: