Massivni O'sish Tartibida Qanday Saralash Mumkin

Mundarija:

Massivni O'sish Tartibida Qanday Saralash Mumkin
Massivni O'sish Tartibida Qanday Saralash Mumkin

Video: Massivni O'sish Tartibida Qanday Saralash Mumkin

Video: Massivni O'sish Tartibida Qanday Saralash Mumkin
Video: Massivni ekranga chiqarish 2024, Noyabr
Anonim

Massivda ma'lumotlarni qayta ishlash ketma-ket sanab chiqish, taqqoslash va mumkin bo'lgan qiymatlarni izlash orqali amalga oshiriladi. Shu bilan birga, massivning katta o'lchamlari resurslar narxini sezilarli darajada oshiradi. Algoritmning massivning barcha elementlaridan qayta-qayta o'tish vaqti, agar ular oldindan buyurtma qilingan bo'lsa, sezilarli darajada kamayishi mumkin. Massivlar odatda eng past son yoki belgidan boshlab o'sish tartibida saralanadi. Saralash algoritmlari aniq vazifa shartlaridan kelib chiqqan holda tanlanishi kerak.

Massivni o'sish tartibida qanday saralash mumkin
Massivni o'sish tartibida qanday saralash mumkin

Ko'rsatmalar

1-qadam

Massivni saralashning bir necha usullari mavjud. Algoritmlashtirish uchun eng sodda narsa - bu "qabariq" saralash, lekin u ham eng sekinlardan biridir. Ushbu usulning mohiyati ma'lumotlar qatorini ketma-ket bosib o'tish va har bir juft elementni taqqoslashdan iborat. Agar bola oldingisidan kichikroq bo'lsa, joylar almashtiriladi. Keyin algoritm qayta boshlanadi. Saralash uchun C kodining namunasi:

int mass [10];

int el_min = 10;

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

agar (less (mass [j], mass [j-1]))

swap (mass [j], masss [j-1]);

}

2-qadam

Massivni o'sish tartibida saralashning eng maqbul algoritmlaridan biri qo'shish usuli hisoblanadi. Algoritmning mohiyati elementlar guruhi o'rtasida (ketma-ketlik bo'yicha) berilgan ketma-ketlikni shakllantirishdan iborat. Loopdagi maxsus ishlov beruvchi buyurtma berish uchun qatorni tekshiradi. O'sish tartibida saralash uchun quyidagi shart ko'rsatilgan. Agar keyingi element avvalgisidan kichikroq bo'lsa, u joyidan olib tashlanadi va uning qiymatiga mos keladigan joyga qo'yiladi. C da ko'tariluvchi tartiblash dasturi uchun namunaviy kod:

int Kol = 40;

int mass [Kol], k;

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

{

k = mass ; // massiv elementini saqlash uchun yordamchi o'zgaruvchi

j = i - 1;

esa (k <mass [j])

{

mass [j + 1] = mass [j];

j--;

agar (j <0) tanaffus;

mass [j + 1] = k;

}

}

3-qadam

Boshqa keng tarqalgan ishlatiladigan saralash usuli - bu massivdagi minimal yoki maksimal elementni topish orqali tartiblash algoritmi. O'sish tartibida saralashda massivdan birinchi o'tish vaqtida uning eng kichik qiymati bo'lgan elementi topiladi va massiv boshiga joylashtiriladi. O'z o'rnida ilgari birinchi pozitsiyani egallagan element o'rnatildi. Massivni qo'shimcha ko'rib chiqishda, to'ldirilgan maydon chiqarib tashlanadi. Keyingi eng kichik element qidiriladi, ikkinchi o'ringa qo'yiladi va hokazo, butun massiv saralanmaguncha. Kodni ro'yxatning minimal elementini topish usuli bo'yicha saralash:

int mass [30], bb;

int Kol = 30, min, pos;

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

{

min = mass ;

pos = i;

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

{

agar (mass [j] <min)

{

min = mass [j];

pos = j;

}

bb = mass ;

mass = mass [pos];

mass [pos] = bb;

}

}

Tavsiya: