Tt-11-19 gurug talabasi Fan: Malumotlar tuzilmasi va algoritmlar Talaba: Mansurov Shuhrat


Chiziqlibirtomonlamayo‘nalganro‘yhatlar



Yüklə 131,14 Kb.
səhifə2/2
tarix28.10.2022
ölçüsü131,14 Kb.
#66660
1   2
Ma’lumotlar tuzilmasi va algoritmlar fanidan 3-Labaratoriya ishi

3.2. Chiziqlibirtomonlamayo‘nalganro‘yhatlar



Chiziqlibirbog‘lamliro‘yhatlar


Bir bog‘lamli ro‘yhat deb elementlarning shunday tartiblangan ketma-ketligiga aytiladiki, har bir element 2 ta maydonga: informatsion maydon info va ko‘rsatkich maydoni ptr ga ega bo‘ladi (3.2-rasm).


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.

24-variant


Bo’sh bo’lmagan binar daraxtning eng katta va eng kichik kalitli tugunlarini o’rta arifmetigiga teng kalitli tugunni berilgan daraxtga qo’yish algoritmi va dasturini keltiring
Dasturkodi :

#include

using namespace std;

intmain()


{
string it1, it2;
listmyList;
list::iterator it;
int n;
cout<< "Ro'yxatdagielementlarsoninikiriting: ";
cin>> n;
cout<< "\nRo'yxatelementlarinikiriting:\n";
for(inti = 1; i<= n; i ++)
{
string elm;
cin>> elm;
myList.push_back(elm);
} cout<<"\n_____________________________________________________________________________\n\n";
it1=*myList.begin();
for (it=myList.begin(); it!=myList.end(); ++it){
it2 = *it;
if(it1.size() < it2.size()){
it1 = it2;
}
}
myList.remove(it1);
myList.push_front (it1);
cout<< "Saralanganro`yhat: \n";
for (it=myList.begin(); it!=myList.end(); ++it){
cout<< *it << "\n";
}
cout<< "\n\n";
system("pause"); return 0;
}


Yüklə 131,14 Kb.

Dostları ilə paylaş:
1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin