|
Mavzu: Konteynerlar bilan ishlaydigan algoritimlar
|
bet | 4/5 | Sana | 15.05.2024 | Hajmi | 175,38 Kb. | | #235479 |
Bog'liq MavzuIteratorlar — bu konteyner hamma elementlarini ko‘rib chiqish va qayta
ishlashga imkon beruvchi obyektlardir. Iteratorlar algoritmlar universalligini
ta’minlovchi asosiy vositadir.
Iteratorlardan foydalanish uchun ma’lum list konteyneriga most
iteratorlar yaratish lozim.
list::iterator iterator_name
#include
#include
using namespace std;
int main()
{
list lst;
lst.push_back(12);
lst.push_back(23);
lst.push_front(44);
list::iterator it;
for(it=lst.begin();it!=lst.end();it++)
cout<<*it<<="" p="">
return 0;
}
Stack
LIFO (Last in first out) ya'ni navbatning oxirgi bo’lib kirgan elеmеntiga birinchi bo’lib xizmat ko’rsatiladi. Bu eng ko’p ishlatiladigan ma'lumotlar
tuzilmalaridan biri bo’lib, turli xil masalalarni hal qilishda ancha qulay va samarali xisoblanadi. Xizmat ko’rsatishni kеltirilgan tartibiga ko’ra, stackda faqatgina bitta pozitsiyaga murojaat qilish mumkin. Bu pozitsiya stackning uchi dеyilib unda stackka vaqt bo’yicha eng oxirgi kеlib tushgan elеmеnt nazarda tutiladi. Biz stackga yangi elеmеnt kiritsak, bu elеmеnt oldingi stack uchida turgan elеmеnt ustiga joylashtiriladi xamda stackni uchida joylashib qoladi. Elеmеntnifaqatgina stack uchidan tanlash mumkin; bunda tanlangan elеmеnt stackdan chiqarib tashlanadi va stack uchini esa chiqarib tashlangan elеmеntdan bitta oldin kеlib tushgan elеmеnt tashkil qilib qoladi. (bunday tuzilmaga ma'lumotlarga chеklangan murojaat tuzilmasi dеyiladi). Stackni grafik ko’rinishida quyidagicha tasvirlash mumkin:
2-rasm Stack
Stack ko’rinishidagi konteynerlar bilan ishlash. Buning uchun stack header faylini dasturga ulash lozim.
Stack ustida amalga oshiriladigan amallar:
1. PUSH( i ) - stackga elеmеnt kiritish, i - stackga kiritiladigan elеmеnt;
2. POP ( ) - stackdan elеmеntni tanlash. Elеmеnt tanlanayotganda o’zi egallab turgan ishchi xotiraga joylashtiriladi;
EMPTY ( ) - stackni bo’sh yoki bo’sh emasligini tеkshirish (true - bo’sh,
false bo’sh emas);
TOP ( ) - stack yuqori elеmеntini o’chirmasdan o’qish.
Stack tipidagi o’zgaruvchini quydagicha e’lon qilishimiz lozim.
stack stack_name;
#include
#include
using namespace std;
int main()
{
stack sc;
sc.push(12);
sc.push(33);
sc.push(66);
while(!sc.empty())
{
cout<
sc.pop();
}
}
|
| |