O. X. Azamatov


 Funksiya uchun shablon turi


Download 1.82 Mb.
Pdf ko'rish
bet79/119
Sana09.01.2022
Hajmi1.82 Mb.
#256439
1   ...   75   76   77   78   79   80   81   82   ...   119
Bog'liq
3072-Текст статьи-7829-1-10-20200908

10.4. Funksiya uchun shablon turi 
Shablon  sinflarini  qo‘llanilishi  shablon  funksiyasini  a’zosini  ifodalaydi. 
Parametrlari shablon sinflarini ifodalovchi global shablon funksiyalar - algoritmlarini 
aniqlash  mumkin.  Masalan  oddiy  shablonni  pufaksimon  algoritm  orqali  tartiblashni 
shunday aniqlash mumkin. 
template void bubble_sort(Vector& v) 
{  unsigned n = v.size(); 
  for (int i=0; i      for (int j=n-1; i          if (v[j] < v[j-1])  
{  // menyayem mestami v[j] i v[j-1] 
             T temp = v[j]; 
             v[j] = v[j-1]; 
             v[j-1] = temp; 
          } 
    } 
Vector  tipini  qismiga  tenglik  funksiyasini  berish  mumkin  emas,  balki  unga 
ikkinchi  parametr  sort()  funksiyasini  berish  kerak.  Bu  parametr  obyekt  sinfini 
ifodalaydi, qaysiki tenglik operatsiyasini qayta aniqlashda. 
template 
void bubble_sort(Vector& v, Compare & cmp) 

  unsigned n = v.size(); 


87 
 
  for (int i = 0; i      for ( int j = n-1; i          if (cmp.lessthan(v[j],v[j-1])) { 
             T temp = v[j]; 
             v[j] = v[j-1]; 
             v[j-1] = temp; 
          } 

for_each()  algoritm yordamida har xil ko‘rinishidagi qayta ishlashni va har bir 
elementni modifikatsiyasini ko‘rish mumkin.  
Template 
void for_each(vector a, function op) 
{  
for( int i=0; i
for_each() algoritmining qo‘llanishi: 
# include  
class StudentPrint 
{public: 
void operator() (Student elem){ if (elem.rating>5) elem.print();} 
}; 
main() 

   vector coll(5);  
coll.input(); 
    StudentPrint cmp
    for_each(coll, cmp); 
    }  


88 
 

Download 1.82 Mb.

Do'stlaringiz bilan baham:
1   ...   75   76   77   78   79   80   81   82   ...   119




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