Тизмени алфавит боюнча кантип иреттөөгө болот

Мазмуну:

Тизмени алфавит боюнча кантип иреттөөгө болот
Тизмени алфавит боюнча кантип иреттөөгө болот

Video: Тизмени алфавит боюнча кантип иреттөөгө болот

Video: Тизмени алфавит боюнча кантип иреттөөгө болот
Video: АНГЛИЙСКИЙ АЛФАВИТ ДЛЯ ДЕТЕЙ/ABC SONG FOR KIDS 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; 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-кадам

Тизмеде сап маалыматтарын иреттөө үчүн эң оптималдуу чечим - бул иреттөө иреттөө. Анын маңызы тизменин ар бир өтүшү менен, белгилүү бир сандагы элементтердин тизмесинин иреттелген бөлүгү бар экендигинде, ошондуктан кийинки каралып жаткан элемент тизмедеги ылайыктуу жерге жайгаштырылат. Киргизүүнү сорттоо алгоритминин 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--; if (j <0) break; Arr [j + 1] = cTemp; }}

Сунушталууда: