Тізімді алфавит бойынша қалай сұрыптауға болады

Мазмұны:

Тізімді алфавит бойынша қалай сұрыптауға болады
Тізімді алфавит бойынша қалай сұрыптауға болады

Бейне: Тізімді алфавит бойынша қалай сұрыптауға болады

Бейне: Тізімді алфавит бойынша қалай сұрыптауға болады
Бейне: Бақытты отбасы бағдарламасы бойынша тізім қалай құралады? 2024, Мамыр
Anonim

Бір типтегі кез-келген мәліметтер тізбегі тізім ретінде ұсынылуы мүмкін. Тізімдерге тапсырыс беруге болады және оларды реттеуге болмайды. Соңғы жағдайда мәліметтермен жұмыс істеу, қажетті мәнді табу және тізім элементтеріне қол жеткізу белгілі бір қиындықтар тудырады. Жолдық айнымалылар тізімі әдетте алфавит бойынша сұрыпталады. Сұрыптау әдістері өте көп, әр жағдайда сіз ең оңтайлы алгоритмді таңдауыңыз керек.

Тізімді алфавит бойынша қалай сұрыптауға болады
Тізімді алфавит бойынша қалай сұрыптауға болады

Нұсқаулық

1-қадам

Сұрыптаудың ең жақсы әдісін таңдағанда екі нәрсені ескеру қажет: сұрыптау жұмысына кеткен уақыт және көмекші сақтауға қажет жад көлемі. Қосымша жадты қажет етпейтін сұрыптау алгоритмдері «орнында» деп аталады. Жүзеге асырудың ең оңайларының бірі - бұл тізімдегі элементтердің әр жұбын сканерлейтін және қажетті тәртіпке байланысты орын ауыстыратын баяу көпіршікті сұрыптау.

2-қадам

Тізімнен минималды немесе максималды элементті табу арқылы жылдамырақ сұрыптау әдісі бар. Алфавит бойынша сұрыпталған жағдайда, тізімнен өткен сайын оның максималды элементін табу керек - бұл алфавиттің басына жақын әріптен басталатын жол болады. Табылғаннан кейін, жол бірінші жолдағы тізімдегі ең бірінші тармақпен ауыстырылады. Тізімді әрі қарай қарау кезінде бірінші орын алынып тасталады, келесі максималды элемент ізделеді, екінші орынға қойылады және т.б. Тізімнің максималды элементін табу әдісімен С ++ тіліндегі сұрыптау бағдарламасының коды: 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; while (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; j--; егер (j <0) үзіліс; Arr [j + 1] = cTemp; }}

Ұсынылған: