3.2. Chiziqli bir tomonlama yoyhatlar
3.2-rasm. Chiziqli bir bogyhatlar
Bir bogyhat deb elementlarning shunday tartiblangan ketma-ketligiga aytiladiki, har bir element 2 ta maydonga: informatsion maydon info va koladi (3.2-rasm).
Mazkur koyhat elementi koziga xosligi shundan iboratki, u faqatgina rozidan keyin keluvchi) elementi adresini konaltirilgan rongi element kosh, yaladi.
Lst yhat boshi koyhatni yagona bir butun sifatida ifodalaydi. Bayhat bolishi ham mumkin, yayhatda bitta ham element boladi. Hozir chiziqli bir bogyhat hosil qilish dasturini koni klasslar yoki strukturalar bilan amalga oshirish mumkin. Masalan,
class Node{
public://klass maladigan murojaatga ruxsat berish
int info; // informatsion maydon
Node* next;// koyhatimiz butun sonlardan iborat. Endi rolon qilsak boni
Node *lst = NULL;// rorsatkichi
Node *last = NULL;// rorsatkichi
Endi shu belgilashlar orqali royhat oxiridan kelib qolamli rolamli royish
3.3-rasm. Bir bogyhat tuzilishi
3.3-rasmdagi rozgaruvchi boyamiz. Ushbu ishni amalga oshirish uchun quyidagi amallarni bajarish lozim borsatkich murojaat qiladigan, bozgaruvchi qiymatini oyhat bilan bog rorsatyapti)
d) lst koyhat boshiga koyhat boshiga element qorib chiqamiz.
Node * p = new Node;
int numb = -1;
cout<<"son kiriting: ";
cin>>numb;
p->info = numb;
if (lst ==NULL){
p->next = NULL;
lst = p; }
else { p->next = lst;
lst = p;}
2. Bir bogyhat boshidan elementni oyhatda birinchi element info informatsion maydonidagi mayhatdan oyhat boshidagi elementni ochirilayotgan elementni korsatkich kiritish: p=lst;
b) p korsatayotgan element info maydonini qandaydir x orsatkichni yangi rochirish: lst=p->ptr;
d) p korsatayotgan elementni orinishga ega boyhatning natijaviy korib chiqsak.
Node* p = new Node;
if (lst == NULL){
cout<<"ro'yhat bo'sh";
system("pause");
system("CLS");
}
else { p = lst;
lst = p->next ;
delete(p);
}
Dostları ilə paylaş: |