6-7 amaliyot ishlari. Bog\'langan ro\'yxat. Bir bog‘lamli ro‘yxatl-fayllar.org
3. Elementni roshish
Berilgan rorsatkich kolgan elementni qoyhatga yangi element qorsatkich kosh elementni yaratish: Node *q=new Node;
b) Yaratilgan element informatsion maydoniga x ni kiritish: q->info=x;
c) q elementni p elementdan keyingi element bilan bog yaratilgan element korsatkichini olash.
p->ptr=q rsatkich murojaat qilgan element borinishga ega boyhat korib chiqsak.
Node * p = lst; Node * q = new Node; int numb = -1; cout<<"son kiriting: "; cin>>numb; q->number = numb; int k; cout<<"nechta elementdan keyin kiritasiz k=";cin>>k; for(int i=0;inext; q->next = p->next; p->next = q;
4. Bir bogyhatdan elementni oyhatda p korsatayotgan elementdan keyingi elementni oyhat ochirish
Buni rochirilayotgan elementni korsatkichni kiritish.
q=p->ptr;
b) p elementni q elementdan keyingi element bilan bogchirilayotgan element info maydonidagi informatsiyani yodda saqlash (agar zarur borsatkich kochirish.
delete(q)
Natijada rorinishga ega boyhat koxshash bitta misolni yechish dasturini koyilgan boyhatning maksimal elementi topilsin. Ushbu masalaning algoritmi, dasturiy kodi va natijasi quyida keltirilgan.
Algoritm Ekranga menyu chiqaramiz: 1 - element qoyhatni koyhat maksimalini topish; 0 - chiqish; tanlash uchun tanla oraymiz. 2-qadamga olsa, 3-qadamga, 2 ga teng botish, 0 tanlansa dasturni yakunlash.
Navbatdagi elementni yaratish p; (p ning info maydoniga qiymat soyhat boshi kolsa, lst=p va last=p; aks holda last yhat oxirgi elementi ptr maydoniga p ni yozib, p elementni last qilib belgilaymiz. 1-qadamga olsa, roshligini ekranga chiqarib, 1-qadamga otish.
Agar p ning ptr maydoni NULL botamiz, yatamiz, aks holda, 1-qadamga oni max oyhat 1-elementi info maydoni qiymatini otish.
Agar p NULL ga teng botamiz, aks holda max ni ekranga chiqaramiz va 1-qadamga olsa, max=p->info. Keyingi elementga oni p=p->ptr. 7-qadamga oyhat boyhat * * * * *\n\n";
ptr = head; while (1) { cout<
number<<" "; if (ptr->next == 0) break; ptr = ptr->next; } cout<<"\n\n"; system("PAUSE"); system("CLS"); continue; } if (action == 3) { system("CLS"); Node* p = head; Node* q = new Node; Node* last = new Node; int max=p->number; q=head; while(p){ if(max
number){ max=p->number;} p=p->next; } system("CLS"); cout<<"max="< system("pause"); continue; } }} Dastur bajarilishi natijasi element qoyhatni koyhat maksimalini topish chiqish
tanlang:1 {1,2,3,55,4,6} sonlari kiritildi. 2-holat tanlanganda natija:
*****rolumotlar tuzilmasi nima va uning statik tuzilmalardan afzalligini tushuntiring?
Royhatning qanday turlarini bilasiz?
Rohat tuzilmasi ustida amal bajarish algoritmlarini tushuntiring
Ikki bogyhat nima va uni bir boghatdan afzalligi va kamchiligini tushuntiring.