Mazkur ko‘rinishdagi ro‘yhat elementi ko‘rsatkichining o‘ziga xosligi shundan
iboratki, u faqatgina ro‘yhatning navbatdagi (o‘zidan keyin keluvchi) elementi
adresini ko‘rsatadi. Bir tomonlama yo‘naltirilgan ro‘yhatda eng so‘ngi element
ko‘rsatkichi bo‘sh, ya’ni
NULL
bo‘ladi.
Lst
– ro‘yhat boshi ko‘rsatkichi. U ro‘yhatni
yagona bir butun sifatida
ifodalaydi. Ba’zan ro‘yhat bo‘sh bo‘lishi ham mumkin, ya’ni ro‘yhatda bitta ham
element bo‘lmasligi mumkin.
Bu holda
lst = NULL
bo‘ladi.
Hozir chiziqli bir
bog‘lamli ro‘yhat hosil qilish dasturini ko‘rib chiqsak.
Buning uchun biz
foydalanuvchi tomonidan yaratiladigan nostandart toifa yaratib olishimiz kerak.
Buning
bir qancha usullari mavjud, ya’ni klasslar yoki strukturalar bilan amalga
oshirish mumkin. Masalan,
class Node{
public://klassma’lumotlariga tashqaridan bo‘ladigan murojaatga ruxsat berish
int info; // informatsion maydon
Node* next;// ko‘rsatkichli maydon
};
Bu
yerda biz
Node
nomli toifa yaratdik va ro‘yhatimiz butun sonlardan iborat.
Endi ro‘yhat elementlarini shu toifa orqali e’lon qilsak bo‘ladi, ya’ni
Node *lst = NULL;// ro‘yhat boshi ko‘rsatkichi
Node *last = NULL;// ro‘yhatga oxirgi kelib tushgan elementning ko‘rsatkichi
Endi shu belgilashlar orqali ro‘yhat hosil qilamiz.
Node * p = new Node;
int numb = -1;
cout<<"son kiriting: ";
cin>>numb;
p->info = numb;
p->next = NULL;
if (lst == NULL) {
lst = p;
last = p;
}
else{ last->next = p;
last = p; }
Bu dasturda yangi element ro‘yhat oxiridan kelib qo‘shiladi.
Bir bog‘lamli ro‘yhatlar ustida amallarbajarishalgoritmlari
Dostları ilə paylaş: