Elke reeks gegevens van hetzelfde type kan worden weergegeven als een lijst. Lijsten kunnen worden geordend en ongeordend. In het laatste geval veroorzaakt het werken met de gegevens, het vinden van de gewenste waarde en het openen van de elementen van de lijst bepaalde problemen. De lijst met stringvariabelen is meestal alfabetisch gesorteerd. Er zijn veel sorteermethoden, in elk geval moet u het meest optimale algoritme kiezen.
instructies:
Stap 1
Bij het kiezen van de beste sorteermethode zijn er twee dingen waarmee u rekening moet houden: de tijd die nodig is voor de sorteerbewerking en de hoeveelheid geheugen die nodig is voor hulpopslag. Sorteeralgoritmen die geen extra geheugen nodig hebben, worden "in place"-sorteringen genoemd. Een van de gemakkelijkst te implementeren is een langzame bubbelsortering, die elk paar items in de lijst scant en van plaats wisselt, afhankelijk van de gewenste volgorde.
Stap 2
Er is een snellere sorteermethode door het minimale of maximale item in de lijst te vinden. In het geval van alfabetisch sorteren, moet u elke keer dat u door de lijst gaat, het maximale element vinden - dit is een tekenreeks die begint met de letter die zich het dichtst bij het begin van het alfabet bevindt. Eenmaal gevonden, wordt de string verwisseld met het allereerste item in de lijst bij de eerste doorgang. Bij nadere bestudering van de lijst wordt de eerste plaats uitgesloten, het volgende maximale element gezocht, op de tweede plaats geplaatst, enz. De code van het sorteerprogramma in C ++ door de methode om het maximale element van de lijst te vinden: String Arr [20], cTemp; int N = 20, Max, Pos; for (int i = 0; i <N- 1; ik ++) {Max = Arr ; Pos = ik; for (int j = 0; j <N; j ++) {if (Arr [j] <Max) {Max = Arr [j]; Pos = j; } cTemp = Arr ; Arr = Arr [Pos]; Arr [Pos] = cTemp; }}
Stap 3
De meest optimale oplossing voor het ordenen van stringgegevens in een lijst is invoegsortering. De essentie ervan ligt in het feit dat bij elke passage door de lijst, er een geordend deel van de lijst is van een bepaald aantal elementen, dus het volgende element dat wordt overwogen, wordt op een geschikte plaats in de lijst geplaatst. C++-code van het sorteeralgoritme voor invoegingen: String Arr [20], cTemp; int N = 20; for (int i = 1, j = 0; i <N; i ++) {cTemp = Arr ; j = ik - 1; terwijl (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; J--; als (j <0) breken; Arr [j + 1] = cTemp; }}