obj.find(…) sietaksisida ishlatiladi. Shu vaqtda algoritm quyidagicha funksiyani find( obj:iteator, … )




Download 0,71 Mb.
bet8/9
Sana24.05.2024
Hajmi0,71 Mb.
#252108
1   2   3   4   5   6   7   8   9
Bog'liq
Nishonova G (D2 M2)

obj.find(…) sietaksisida ishlatiladi. Shu vaqtda algoritm quyidagicha funksiyani find( obj:iteator, … ) ishga tushuradi. Aslida, bu bitta algoritm emas, balki ularning butun bir katta guruhi maveud, ular to‘plam elementlarini baʻzi atribut, shart bilan tanlashlari asosida birlashtirilishi mumkin. Bu guruh predikatlariga find()find_if()find_if_not()find_first_of()find_end()adjacent_find() funksiyalari kiradi. Shuningdek bu guruhda kengaytirilgan algoritmlar ham tegishlidir va bularga count()count_if()search()binary_search()min()max()minmax_element()min_element()max_element()equal() kabi bir qator algoritmlar kiradi.
To‘plamga ishlov berish (aralashtirish) bir shartli guruh algoritmlar mavjud va ular joylarda elementlarni qayta tartibga soluvchi va qiymatlarni o‘zgartiruvchi
algoritmlardir: fill()replace_copy()reverse()rotate()rotate_copy()shuffle()random_shuffle()transform()replace()replace_if() va boshqa funksiyalar.
Ikki to‘plamlar ustida bajariladigan algoritimlar guruhi ham mavjud. Bular asosan nusxalash, tarkibini ko‘chirib o‘tish (xar tipdagi konteynerlar uchun bo‘lishi mumkin. Masalan, vector<> ni set<> ga) funksiyalarini bajaradi. Bularga copy()copy_if()move()swap_ranges()remove_copy()remove_copy_if()merge()set_intersection()set_difference() va boshqa algoritmlar.
Nihoyat, juda maxsus guruh algoritmlari, to‘plam ichida elementlar turli saralash bilan bog‘liq funksiyalar sort()stable_sort()is_sorted()is_sorted_until()va boshqa algoritmlar. Ushbu qiziqarli guruhni keyinroq, alohida batafsil ko‘rib chiqish kerak.
Kutubxonada vaqt o‘tishi bilan ortib borayotgan algoritmlarning ko‘pligi va ularning aksariyati adabiyotda hech qanday taʻriflanmasligiga qaramasdan, tabiiy savol tug‘iladi: bu xilma-xillikni qanday tushunish kerak? Bu qiyinchiliklar qanday engio‘ mumkin:


  • Barcha STL obʻyektlar (konteynerlar, algoritmlar) shablon sintaktiki bo‘yicha tasvirlangan. Shuning uchun, ularning tavsiflari, ularning header fayllarida dastur fragmentlari sifatida tuzilgan bo‘lishi kerak.


  • Kerakli algoritimlar uchun header fayllarni standart katalogiga o‘ting va stl_algo* kabi sarlavha fayllarini toping - uda barcha algoritm funksiyasi prototiplarini (o‘xshashlarini) topasiz. Bundan tashqari, har bir prototipi algoritm maqsadini tushuntirib va parametrlarini tushuntirishning batafsil izoh oldindan yozib ko‘yilgan.


  • Bir necha asosiy STL algoritmlarni foydalanishga doir misollar ko‘rib chiqing – kutubxonalar tizimida ularning ko‘pchiligi bor. O‘xshashlik bilan boshqa barcha algoritmlarni yaratish mumkin.




Shablon sinf kutubxonalar shablon jihatidan 
Download 0,71 Mb.
1   2   3   4   5   6   7   8   9




Download 0,71 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



obj.find(…) sietaksisida ishlatiladi. Shu vaqtda algoritm quyidagicha funksiyani find( obj:iteator, … )

Download 0,71 Mb.