• 4. Bir bog’lamli ro’yhatdan elementni o’chirish
  • Foydalanilgan adabiyotlar ro’yhati
  • O’zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnalogiyalar universiteti ma’lumotlar tuzulmasi va algoritmlar fani bo’yicha mustaqil ish




    Download 159,18 Kb.
    bet3/3
    Sana29.12.2023
    Hajmi159,18 Kb.
    #129024
    1   2   3
    Bog'liq
    Ma’lumotlar tuzulmasi va algoritmlar fani bo’yicha mustaqil ish -fayllar.org
    Mustaqil ish 2 (1), Kitob 9953 uzsmart.uz, DAVOMAT DAFTARI - 8-A, File0008, File0011, File0007, Doc1, Reference-389201100006 (1), 1 Tursunova G ., 1-AMALIY KT, 5-MUSTAQIL ISHI PP, Mustaqil ta‘lim, 11-mavzu Abu Rayhon Beruniy, 1 Ma\'lumotlar bazasi haqida qisqacha tavsif 2 Ma\'lumotlar baza, Konstruksion materiallar texnologiyasi. Mirboboyev V.A
    3. Elementni ro‗yhatga qo‗shish
    Berilgan ro‗yhatda p ko‗rsatkich ko‗rsatayotgan elementdan keyin informatsion maydoni x bo‗lgan elementni qo‗yamiz (9-rasm).



    9-rasm. Ro‗yhatga yangi element qo‗shish
    Aytilganlarni amalga oshirish uchun quyidagi amallarni bajarish lozim:
    1. q ko‗rsatkich ko‗rsatuvchi bo‗sh elementni yaratish: Node *q=new


    Node;

    1. Yaratilgan element informatsion maydoniga x ni kiritish: q->info=x;

    2. q elementni p elementdan keyingi element bilan bog‗lash.


    q->ptr=p->ptr – yaratilgan element ko‗rsatkichiga p element ko‗rsatkichini o‗zlashtirish.


    1. p element bilan q elementni bog‗lash.


    p->ptr=q – bu amal p elementdan keyingi element q ko‗rsatkich murojaat


    qilgan element bo‗lishini anglatadi.

    Natijada quyidagi rasmdagidek ko‗rinishga ega bo‗lamiz.




    10-rasm. Natijaviy ro‗yhat ko‗rinishi
    Endi shu algoritmni C++ tilidagi realizatsiyasini ko‗rib 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 bog’lamli ro’yhatdan elementni o’chirish
    Ro‗yhatda p ko‗rsatkich ko‗rsatayotgan elementdan keyingi elementni o‗chiramiz (11-rasm).



    11-rasm. Ro‗yhat o‗rtasidan element o‗chirish
    Buni ro‗yobga chiqarish uchun quyidagi ishlarni amalga oshirish lozim: a) O‗chirilayotgan elementni ko‗rsatuvchi q ko‗rsatkichni kiritish.
    q=p->ptr;

    1. p elementni q elementdan keyingi element bilan bog‗lash.


    p->ptr=q->ptr;


    1. O‗chirilayotgan element info maydonidagi informatsiyani yodda


    saqlash (agar zarur bo‗lsa) k=q->info;


    1. q ko‗rsatkich ko‗rsatayotgan elementni o‗chirish.


    delete(q)


    Natijada ro‗yhat quyidagi ko‗rinishga ega bo‗ladi:



    12-rasm. Natijaviy ro‗yhat ko‗rinishi Shu algoritm dasturi:


    Node* p = lst;


    Node* q = new Node;
    int k;
    cout<<"k=";
    cin>>k;
    for(int i=0;i
    p=p->next;
    q = p->next;
    p->next = q->next;
    delete(q);





    Xulosa
    Bu mustaqil ishining asosiy maqsadi dinamik ma’lumotlar tuzilmasi haqida ma’lumot berish.Men bu mustaqil ishda yuqorida ularni yoritishga qay tartibda ishlatilishi,ularning tarkibiga nimalar kiritilishi haqida ma’lumot berdim.Qisqacha bu tuzulma haqida ma’lumot beradiga bo’lsam biz biror ma’lumotlar olsak uni joylashtirganda xotirada qay tartibda joylashishi va albatta hajmi o’zgarish o’zgarmasligiga qarab xar-xil tuzulmalar mavjud.Dinamik ma’lumotlar tuzulmasini joylashtirganimizda static tuzulmasidan farqli ravishda uning hajmini o’zgartirishimiz mumkin(kamaytirishimiz yoki qo’shishimiz yoki batamom o’chirvorishimiz mumkin).Uning albatta tur xil avzallilari va kamchiliklari mavjud.

    Avzalliklar:


    • Uning o‘lchamini dastur bajarilishi mobaynida o‘zgartirsa bo‘ladi;


    • Tuzilma orasiga element kiritish uchun qolganlarini surish shart emas.


    Kamchiliklari:


    Albatta o’zimizga qulay sohalarda bu tuzulmadan foydalanishimiz mumkin.Bundan tashqari bu tuzulmaga kiradigan ro’yhatlar haqida ma’lumot berdim.Chiziqli bir bo’g’lamli ro’yhatlar qanday yaratilishi va undan qay tartibda foydalanish turli xil vazifalarni bajarish haqida yuqorida keltirib o’tilgan.C++ dasturlash tilida qo’yilgan vazifalar bajarilgan.


    Foydalanilgan adabiyotlar ro’yhati:



    ANBALAR RO‘YXATI
    1. Adam Drozdek. Data structures and algorithms in C++. Fourth edition.
    2013.
    2. Н.А.Литвиненко. Технология программирования. ―БХВ Петербург‖
    Санкт-Петербург. 2012 г.
    3. Роберт Седжвик. Фундаментальные алгоритмы на C++. Анализ,
    Структуры данных, Сортировка, Поиск//К.: Изд. «ДиаСофт», 2007
    4. Ma‘ruza matnlari. Carnegie Mellon University – CORTINA. 2010. 15-
    121 Introduction to Data Structures, (http://www.cs.cmu.edu/~tcortina/15-
    121sp10/lectures.html)

    1



    http://fayllar.org
    Download 159,18 Kb.
    1   2   3




    Download 159,18 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnalogiyalar universiteti ma’lumotlar tuzulmasi va algoritmlar fani bo’yicha mustaqil ish

    Download 159,18 Kb.