Massiv elementlarini tartiblash




Download 15,08 Mb.
bet71/135
Sana22.05.2024
Hajmi15,08 Mb.
#250347
1   ...   67   68   69   70   71   72   73   74   ...   135
Bog'liq
Fizik jarayonlarni kompyuterda modellashtirish

3. Massiv elementlarini tartiblash


Massivlar haqidagi masalalar ichida eng ko‘p uchraydigani bu uning elementlarini o‘sish yoki kamayish tartibida tartiblash masa­lasidir. Bu muammoni hal qilishning usullari ko‘p bo‘lib, ulardan birortasini boshqasidan ustun qo‘yib bo‘lmaydi. Har bir usul element­lar joylashuviga ko‘ra boshqasidan yaxshi bo‘lishi mumkin.
A[1:N] massiv elementlarini o‘sish tartibida tartiblash talab qilingan bo‘lsin.
Berilgan massiv elementlari ichidan eng kichigini topib, uning o‘rni 1-element bilan almashtiriladi. Demak, 1-element tartiblandi. Endi 2-element tartiblanadi. Buning uchun qolgan elementlar ichi­dan eng kichigi topilib, uning o‘rni 2-element bilan almashtiriladi va hokazo. Bu jarayon N-1 marta takrorlanganda tartiblash ham tugaydi. Bu usul uchun kod quyidagicha yoziladi:

1 # include
2 int main()
3 {
4 int min, a, j, k;
5 int I; int b[10]={56, 88, 75, 65, 78, 82, 79, 81, 68, 72};
6 for (i=0; i<=8; i++) {
7 minqb[i]; k=I;
8 for (j=i+1; j<=9; j++) if (b[j]
9 a=b[i]; b[i]=b[k]; b[k]=a;}
10 for (i=0; i<=9; i++)
11cout<
12 return 0;
13 }
Bu usul eng kichik elementni chiqarish usuli deyiladi.
2-usul. Ko‘piksimon usul. Bu usulning asosiy g‘oyasi yengil elementlarni yuzaga chiqarishdan iborat bo‘lib, xuddi suv ichidan chi­qayotgan pufakchalarni eslatadi. Yengil elementlar “vazni” darajasida borgan sari yuqorilab boradi. Buning uchun birinchi elementdan boshlab, hamma elementlari o‘z yonida turgan element bilan taqqos­lanadi. Agar bo‘lsa, u holda bu elementlar o‘rni o‘zaro almashtiriladi. Tekshirish yana boshidan boshlanadi.
1 # include ­
2 int main()
3 { int a, I, k;
4 int b[10]={56, 88, 75, 65, 78, 82, 79, 81, 68, 72};
5 for (i=0; i<=8; i++)
6 if (b[i]>b[i+1]) {a=b[i]; b[i]=b[i+1]; b[i+1]=a; i=-1;}
7 for (i=0; i<=9; i++)
8 cout<
9 return 0;
10 }

Download 15,08 Mb.
1   ...   67   68   69   70   71   72   73   74   ...   135




Download 15,08 Mb.