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


Download 52.16 Kb.
bet6/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

using namespace std;


  1. template <typename T>

  2. void sort(T list[], int listSize)

  3. {

  4. for (int i = 0; i < listSize; i++)

  5. {

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

10. T currentMin = list[i];
11. int currentMinIndex = i;
12. for(int j = i + 1; j < listSize; j++)
13. {
14. if (currentMin > list[j])
15. {
16. currentMin = list[j];
17. currentMinIndex = j;
18. }
19. }
20. // list[i] ni list[joriyMinimumIndeks] bilan almashtirish, agar zarur bo`lsa;
21. if(currentMinIndex != i)
22. {
23. list[currentMinIndex] = list[i];
24. list[i] = currentMin;
25. }
26. }
27. }
28. template <typename T>
29. void printArray(const T list[], int listSize)
30. {
31. for (int i = 0; i < listSize; i++)
32. {
33. cout << list[i] << " ";
34. }
35. cout << endl;
36. }
37. int main()
38. {
39. int list1[] = {3, 5, 1, 0, 2, 8, 7};
40. sort(list1, 7);
41. printArray(list1, 7);
42. double list2[] = {3.5, 0.5, 1.4, 0.4, 2.5, 1.8, 4.7};
43. sort(list2, 7);
44. printArray(list2, 7);
45. string list3[]={"Atlanta", "Denver", "Chicago", "Dallas"};
46. sort(list3, 4);
47. printArray(list3, 4);
48. return 0;}
Natija:

0 1 2 3 5 7 8
0.4 0.5 1.4 1.8 2.5 3.5 4.7
Atlanta Chicago Dallas Denver

Bu dasturda ikkita funksiya shaboni aniqlangan. sort funksiya shabloni (5-30-qatorlar) massiv elementlari turini belgilab olish uchun T parametridan foydalanadi. double parametri umumiy T parametri bilan almashtirilganligi hisobga olinmaganda, bu funksiya tanlabSaralash funksiyasining o`zginasi.

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