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:
void tanlabSaralash(double list[], int listHajm)
{
for (int i = 0; i < listHajm - 1; i++)
{
// list[i..listHajm-1] dagi minimumni topish
double joriyMinimum = list[i];
int joriyMinimumIndeks = i;
for (int j = i + 1; j < listHajm; j++)
{
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 #include