Mavzuga kirish; Shablonlar nazariyasi; Misol: Umumiy toifa


Download 61.98 Kb.
bet5/9
Sana21.01.2023
Hajmi61.98 Kb.
#1107357
1   2   3   4   5   6   7   8   9
Bog'liq
2) 15- ma\'ruza matni

Misol: Umumiy toifa
Qismda umumiy toifali funksiya aniqlanadi.
O`tgan semestrda ko`rib chiqilgan 12.8-kodli ro`yxatdagi TanlabSaralash.cpp dasturida double turidagi elementlardan tashkil topgan massivni saralovchi funksiya berilgan edi. Bu yerda o`sha funksiya nusxasi keltirilgan:

  1. void tanlabSaralash(double list[], int listHajm)

  2. {

  3. for (int i = 0; i < listHajm - 1; i++)

  4. {

  5. // list[i..listHajm-1] dagi minimumni topish

  6. double joriyMinimum = list[i];

  7. int joriyMinimumIndeks = i;




  1. for (int j = i + 1; j < listHajm; j++)

  2. {

  3. if (joriyMinimum > list[j])

  4. {

  5. joriyMinimum = list[j];

  6. joriyMinimumIndeks = j;

  7. }

  8. }




  1. // list[i] ni list[joriyMinimumIndeks] bilan almashtirish, agar zarur bo`lsa;

  2. if (joriyMinimumIndeks != i)

  3. {

  4. list[joriyMinimumIndeks] = list[i];

  5. list[i] = joriyMinimum;

  6. }

  7. }

  8. }

Bu funksiyani int, char, string va hokazo turlardagi qiymatlardan iborat massivlarni saralashga mo`ljallangan yangi funksiya hosil qilish uchun qayta sozlash oson. Bu turlarning har biri uchun saralashni bajarish uchun koddagi double kalit so`zini int, char yoki string kalit so`zlari bilan almashtirish kerak (1- va 6-qator).


Bir qancha saralash funksiyalarini yozish o`rniga, shunchaki, barcha turlar uchun o`rinli bo`lgan, bir dona funksiya shablonini yozishimiz mumkin. 1.3-kodli ro`yxatda massiv elementlarini saralash funksiyasi aniqlangan.
1.3-kodli ro`yxat. GenericSort.cpp


  1. Download 61.98 Kb.

    Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling