Массивди өсүү тартибинде кантип иреттөөгө болот

Мазмуну:

Массивди өсүү тартибинде кантип иреттөөгө болот
Массивди өсүү тартибинде кантип иреттөөгө болот

Video: Массивди өсүү тартибинде кантип иреттөөгө болот

Video: Массивди өсүү тартибинде кантип иреттөөгө болот
Video: Динамические массивы в Excel 2024, Май
Anonim

Массивдеги маалыматтарды иштеп чыгуу ырааттуу саноо, салыштыруу жана мүмкүн болуучу маанилерди издөө жолу менен жүзөгө ашырылат. Ошол эле учурда, массивдин чоң өлчөмү ресурстардын баасын кыйла жогорулатат. Алгоритмдин массивдин бардык элементтеринен кайталап өтүү убактысы, эгерде алар алдын-ала буйрутма берсе, бир топ кыскартылышы мүмкүн. Массивдер адатта эң төмөнкү сандан же белгиден баштап, өсүү тартибинде иргелет. Сорттоо алгоритмдери белгилүү бир тапшырманын шартына жараша тандалышы керек.

Массивди өсүү тартибинде кантип иреттөөгө болот
Массивди өсүү тартибинде кантип иреттөөгө болот

Нускамалар

1 кадам

Массивди иреттөөнүн бир нече жолу бар. Алгоритмдөө үчүн эң жөнөкөйү - "көбүктү" сорттоо, бирок ал жайыраактардын бири. Бул методдун маңызы маалымат массивин ырааттуу айланып өтүү жана элементтердин ар бир жупун салыштыруу. Эгер бала мурункусунан кичинекей болсо, орун алмаштырылат. Андан кийин алгоритм кайрадан башталат. Сорттоо үчүн C кодунун үлгүсү:

int mаss [10];

int el_min = 10;

for (int i = 0; ii; j--)

if (lеss (mаss [j], mаss [j-1]))

swаp (mаss [j], mаss [j-1]);

}

2-кадам

Массивди өсүү тартибинде иргеп алуунун оптималдуу алгоритмдеринин бири киргизүү ыкмасы деп эсептелет. Алгоритмдин маңызы - элементтер тобунун арасында (ырааттуулук боюнча) берилген ырааттуулукту түзүү. Циклдеги атайын иштетгич массивди буйрутма бергендигин текшерет. Өсүү тартибинде иреттөө үчүн төмөнкү шарт көрсөтүлгөн. Эгерде кийинки элемент мурункусунан кичине болсо, анда ал ордунан алынып, анын маанисине дал келгенине коюлат. С тилинде жогорулаган иреттөө программасынын коду:

int Kol = 40;

int mаss [Kol], k;

for (int i = 1, j = 0; i <Kol; i ++)

{

k = mаss ; // массив элементин сактоо үчүн жардамчы өзгөрмө

j = i - 1;

while (k <mаss [j])

{

mаss [j + 1] = mаss [j];

j--;

if (j <0) break;

mаss [j + 1] = k;

}

}

3-кадам

Сорттоонун дагы бир кеңири колдонулган методу - бул массивдеги минимум же максимум элементти табуу аркылуу иреттөө алгоритми. Өсүү тартибинде сорттоодо массивден биринчи өткөндө, анын эң кичине мааниси бар элементи табылып, массивдин башына коюлат. Анын ордуна мурун биринчи позицияны ээлеп турган элемент орнотулган. Массивди андан ары карап чыккандан кийин, толтурулган мейкиндик алынып салынат. Кийинки эң кичинекей элемент изделип, экинчи орунга жайгаштырылат жана башкалар ушул сыяктуу массив толугу менен сорттолгончо. Кодду тизмектин минималдуу элементин табуу ыкмасы боюнча иреттөө:

int mаss [30], bb;

int Kоl = 30, мин, pоs;

for (int i = 0; i <Kol -1; i ++)

{

min = mаss ;

pоs = i;

for (int j = 0; j <Kol; j ++)

{

if (mаss [j] <min)

{

min = mаss [j];

pоs = j;

}

bb = mаss ;

mаss = mаss [pоs];

mаss [pоs] = bb;

}

}

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