C++ dasturlash tilida xususiy konteynerlar yaratish




Download 203,76 Kb.
bet3/4
Sana15.06.2024
Hajmi203,76 Kb.
#263839
1   2   3   4
Bog'liq
Qodirov Rivojiddinning Dasturlash - 2 fanidan qilgan Mustaqil sihi.

3. C++ dasturlash tilida xususiy konteynerlar yaratish

Ma’lumotlar konteynerlarini yaratishda C++ tilining C tilidan meros

qilib olgan structuralardan foydalaniladi. Dasturlash tillaridagi imkoniyatlari
ichida C/C++ tillining ko’rsatkichlar bilan ishlash imkoniyati yuqori hisoblanadi
shuning uchun biz ma’lum konteynerlarni o’zimiz xotiraga bevosita murojat
qilish orqali yaratishimiz mumkin.
Ma’lumotlar konteynerlarini yaratishda quyidagi konteynerlarni ko’rib
chiqamiz.
 Stack
 Navbat
 Ro’yxat
 Binar daraxt (Binary tree)
Dastur yechimi
STACK ko’rinishidagi konteyner
#include
#include
#include
#include
using namespace std;
struct Node//stack uchun kontener
{
int info;

Node *pointer;


};
Node *first(int d);//birinchi elementni qo'shish void push(Node **top, int d);//yangi element qo'shish

int pop(Node **top);//elementni o'chirish

int main()
{
Node *top =first(1);

for(int i=2;i<6;i++) push(&top,i);

while(top)
{ cout<
cout<

}
return 0;

}
Node *first(int d)

{
Node *pv=new Node;//yangi kontener yaratish

pv->info=d;//yangi kontenerni ma'lumot yacheykasiga d ma'lumotni
qo'yamiz
pv->pointer=0;//keyingi element hali yo'q nol gs tenglaymiz
return pv;//kontener addressini qaytaramiz
}
void push(Node **top, int d)

{
Node *pv=new Node;//yangi kontener yaratish

pv->info=d;//yangi kontenerni ma'lumot yacheykasiga d ma'lumotni qo'yamiz
pv->pointer=*top;////yangi kontenerni keyingi oldigi kontener bilan bog'laymiz
*top=pv;//stack boshiga yangi elemntni qo'yamiz
}
int pop(Node **top)

{
int temp=(*top)->info;//kontenerdagi ma'lumotni tempga olamiz

Node *pv=*top;//yangi kontenerga stack boshini beramiz
*top=(*top)->pointer;//stack boshini keyingi elementga o'tkazib
delete pv;//dinamik ajratilgan joyni o'chiramiz
return temp;//ma'lumotni qaytaramiz
}
Navbat ko’rinishidagi konteyner

#include
#include


using namespace std;
struct Node//navbat uchun kontener
{
int d;
Node *pointer;

};
Node* first(int d);//birinchi elementni qo'shish

void add(Node **pend, int d);//yangi element qo'shish

int remove_items(Node **pbegin);//elementni o'chirish


int main()
{
Node *pbeg=first(1);

Download 203,76 Kb.
1   2   3   4




Download 203,76 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



C++ dasturlash tilida xususiy konteynerlar yaratish

Download 203,76 Kb.