Mustaqil ish №2 Mavzu: stl kutubxonalari



Download 145,24 Kb.
Sana15.04.2023
Hajmi145,24 Kb.
#928756
Bog'liq
2 - mustaqil ish


MUHАMMАD АL-XОRАZMIY NОMIDАGI TОSHKЕNT АXBОRОT TЕXNОLОGIYАLАRI UNIVЕRSITЕTI URGANCH FILIАLI


MUSTAQIL ISH № 2




Mavzu: STL kutubxonalari

916 – 22 – guruh talabasi
Bajardi : Raximova Nilufar
Tekshirdi :

XORAZM – 2023
STL kutubxonalari
STL – (Standart Template Library) C++ dasturlash tilida turli xil ma’lumotlar tuzilmalari va funksiyalari ya’ni ro’yxatlar, steklar va massivlar kabi tuzilmalar bilan ishlash uchun qulay hisoblanadigan shablon sinflar to’plamidir. STL – konteyner sinflar kutubxonasi, algoritmlar va iteratorlardan iborat.
STL tarkibi 4 ta asosiy komponentga ega:
- Algoritmlar
- Konteynerlar
- Funksiyalar
- Iteratorlar
Algoritmlar - elementlar diapazonlarida foydalanish uchun mo'ljallangan funksiyalar to'plamini belgilaydi. Ular konteynerlarda ishlaydi va konteynerlar mazmuni uchun turli operatsiyalarni bajaradi hamda ular turli xildagi vositalarni taqdim etadi.
Konteynerlar – turli xil tuzilmalar ob'ektlari va ma'lumotlarini saqlaydi. M-n: massiv, stek, navbat, ro’yxat, to’plam va h-k. Funksiyalar - STL funksiya chaqiruv operatorini qayta yuklaydigan sinflarni o'z ichiga oladi. Bunday sinflarning misollari funksiya ob'ektlari yoki funktorlar deb ataladi. Funktorlar yuboriladigan parametrlar yordamida bog'langan funktsiyaning ishlashini moslashtirishga imkon beradi.
Iteratorlar - qiymatlar ketma-ketligi ustida ishlash uchun ishlatiladi. Ular STLda umumiylikka imkon beruvchi asosiy xususiyatdir. Iteratorlar bilan ko‘rsatkichlar kabi ishlash mumkin. Ularga *, inkrement, dekrement operatorlarni qo‘llash mumkin. Iterator tipi sifatida xar xil konteynerlarda aniqlangan iterator tip elon qilinadi.
Kontеynеr sinflar
Konteyner sinflar ular sinf shablonlari sifatida amalga oshiriladi, bu elementlar sifatida qo'llab-quvvatlanadigan turlarda katta moslashuvchanlikni ta'minlaydi. Konteyner o'z elementlari uchun saqlash joyini boshqaradi va ularga to'g'ridan-to'g'ri yoki iteratorlar (ko'rsatkichlarga o'xshash xususiyatlarga ega bo'lgan mos yozuvlar) orqali kirish uchun a'zo funktsiyalarini ta'minlaydi. Konteynerlar quyidagi turlari mavjud:
Chiziqli (ketma-ket) konteynerlar: ketma-ket kirish mumkin bo'lgan ma'lumotlar tuzilmalarini amalga oshirishga imkon beradi.
Ketma-ket konteynerlarga quyidagilar kiradi:
- vector (vektor)
- list (ro’yxat)
- deque (dek)
- arrays (massiv)
- forward list (yo’naltirilgan ro’yxat)
Konteyner adapterlar: ketma ketligi turlicha bo’lgan tuzilmalardan iborat ketma-ket konteynerlardir. Ular quyidagilar:
- queue (navbat)
- priority_queue (ustuvor navbat)
- stack (stek)
Assotsiativ konteynerlar: tezda qidirilishi mumkin bo'lgan tartiblangan ma'lumotlar tuzilmalarini amalga oshirishga imkon beradi. (murakkabligi O(log n)). Assotsiativ konteynerlar quyidagilardir:
- set (to’plam)
- multiset
- map
- multimap
Tartiblanmagan assotsiativ konteynerlar: tezda qidirilishi mumkin bo'lgan tartibsiz ma'lumotlar tuzilmalarini amalga oshiradi:
- unordered set (tartiblanmagan to’plam)
- unordered multiset
- unordered map
- unordered multimap


Masala: Berilgan float turidagi to’plam qiymatlarining yaxlitlab(o’zidan katta yoki teng bo’lgan butun songacha yaxlitlab) 2- to’plamga, ikki to’plam
ayirmasini(3=1-2) 3- to’plamga joylashtiruvchi va ularni ekranga chiqaruvchi dastur tuzing.

#include


#include
#include

using namespace std ;


int main()
{
set s1={23, 76.4, 34, 23.1, 90} ;
set s2 ;
set s3 ;
int k ;
cout << "s1 to'plam elementlari : " ;
for(auto i : s1)
{
cout << i << " " ;
}
cout << endl ;
for(auto i : s1)
{
k = static_cast (i) ;
if (i==k)
{
s2.insert(i) ;
s3.insert(i-k) ;
}
if (k{
s2.insert(k+1) ;
s3.insert(k+1-i) ;
}
}
cout << "s2 to'plam elementlari : " ;
for(auto i : s2)
{
cout << i << " " ;
}
cout << endl ;
cout << "s3 to'plam elementlari " ;
cout << "(bu yerda s3 set() bo'lganligi uchun takroriy elementlar tashlab ketilgan) : " ;
for(auto i : s3)
{
cout << i << " " ;
}
cout << endl ;
return 0 ;
}
Natija

Download 145,24 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish