C++ da umumiy turlardan foydalangan holda, shablon funksiyalar va sinflarni aniqlashimiz mumkin


Download 52.16 Kb.
bet5/10
Sana19.11.2023
Hajmi52.16 Kb.
#1786539
1   2   3   4   5   6   7   8   9   10
Bog'liq
C da umumiy turlardan foydalangan holda, shablon funksiyalar v

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. {

10. if (joriyMinimum > list[j])
11. {
12. joriyMinimum = list[j];
13. joriyMinimumIndeks = j;
14. }
15. }
16. // list[i] ni list[joriyMinimumIndeks] bilan almashtirish, agar zarur bo`lsa;
17. if (joriyMinimumIndeks != i)
18. {
19. list[joriyMinimumIndeks] = list[i];
20. list[i] = joriyMinimum;
21. }
22. }
23. }
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. #include

  2. #include


  3. Download 52.16 Kb.

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




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