Всяка последователност от данни от същия тип може да бъде представена като списък. Списъците могат да бъдат подредени и неподредени. В последния случай работата с данните, намирането на желаната стойност и достъпът до елементите от списъка причиняват определени трудности. Списъкът на низ променливи обикновено се сортира по азбучен ред. Има много методи за сортиране, във всеки случай трябва да изберете най-оптималния алгоритъм.
Инструкции
Етап 1
Когато избирате най-добрия метод за сортиране, трябва да имате предвид две неща: времето, необходимо за операцията по сортиране, и количеството памет, необходимо за спомагателното съхранение. Алгоритмите за сортиране, които не изискват допълнителна памет, се наричат "сортиране на място". Едно от най-лесните за изпълнение е бавно сортиране на балончета, което сканира всяка двойка елементи в списъка и разменя места в зависимост от желания ред.
Стъпка 2
Има по-бърз метод за сортиране чрез намиране на минималния или максималния елемент в списъка. В случай на сортиране по азбучен ред, всеки път, когато преминете през списъка, трябва да намерите максималния му елемент - това ще бъде низ, започващ с буквата, най-близка до началото на азбуката. След като бъде намерен, низът се разменя с първия елемент в списъка при първото преминаване. При по-нататъшно разглеждане на списъка първото място се изключва, търси се следващият максимален елемент, поставя се на второ място и т.н. Кодът на програмата за сортиране в C ++ чрез метода за намиране на максималния елемент от списъка: String Arr [20], cTemp; int N = 20, Max, Pos; for (int i = 0; i <N- 1; i ++) {Max = Arr ; Pos = i; за (int j = 0; j <N; j ++) {if (Arr [j] <Max) {Max = Arr [j]; Pos = j; } cTemp = Arr ; Arr = Arr [Pos]; Arr [Pos] = cTemp; }}
Стъпка 3
Най-оптималното решение за подреждане на низови данни в списък е сортирането при вмъкване. Същността му се състои във факта, че при всяко преминаване през списъка има подредена част от списъка с определен брой елементи, като по този начин следващият разглеждан елемент се поставя на подходящо място в списъка. C ++ код на алгоритъма за сортиране на вмъкване: String Arr [20], cTemp; int N = 20; for (int i = 1, j = 0; i <N; i ++) {cTemp = Arr ; j = i - 1; докато (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; j--; ако (j <0) прекъсване; Arr [j + 1] = cTemp; }}