s++ da dasturlash

PPT 53 pages 1.8 MB Free download

Page preview (5 pages)

Scroll down 👇
1 / 53
slayd 1 maxmudov anvarjon zokirovich e-mail: anvarjon.m@gmail.com fan nomi: “s++ da dasturlash” (2-semestr) “informatika asoslari” kafedrasi toshkent axborot texnologiyalari universiteti http://acm.tuit.uz talabalarga eslatma: darsga kech qolmaslik dars jarayonida uyali telefonlar o'chirib qo'yiladi 1-qoida dars jarayonida kiyinish madaniyatiga e'tibor berish mavzu tushunarsiz bo'lsa, savol beriladi 2-qoida 3-qoida 4-qoida topshiriqlar o'z vaqtida to'liq bajariladi 5-qoida http://acm.tuit.uz 2.8-ma’ruza ro’yxat, stek va navbat. http://acm.tuit.uz/forum * ro'yxat ko’p misollarda tarkibi, hajmi o’zgaruvchan bo’lgan murakkab konstruksiyalardan foydalanishga to’g’ri keladi. bunday o’zgaruvchan ma’lumotlar dinamik informasion strukturalar deb ataladi. eng asosiy dinamik informasion struktura bu ro’yxatdir. ro’yxat uchun 3 ta oddiy amal aniqlangan. navbatga yangi element joylashtirish navbatdan element o’chirish. navbatni bo’sh yoki bo’sh emasligini aniqlash. http://acm.tuit.uz/forum * dinamik ma’lumotlar strukturasi qurish: tugunlar top’lami, ko’rsatkichlar yordamida birlashtirish. tugun qanday qurilgan: struktura tiplar: ro’yxat daraxt graf birtomonli ikki yo’nalishli (ikkitomonli) siklik ro’yxat (xalqa) ma’lumotar boshqa tugunlarga ko’rsatkich null null null null null null null null null * ro’yxat qayerda …
2 / 53
a’lumotlar tipi struktura tuguni struct node { char word[40]; // so’z int count; // takrorlanishlar soni node *next; // keying elementga ko’rsatkich }; typedef node *pnode; strukturaga ko’rsatkich: roy’xatni bopshlanish manzili: pnode head = null; rekursiv ta’rif! ! null ro’yxatga kitish uchun uni boshini manzilini bilish yetarli! ! * * ro’yxat bilan nimalar qilish mumkin? yangi tugun yaratish. tugun qo’shish: ro’yxat boshidan; ro’yxat oxiridan; joriy tugundan keyin; joriy tugungacha. ro’yxatdan kerakli tugunni izlash. tugunni o’chirish. * * tugun yaratish pnode createnode ( char newword[] ) { pnode newnode = new node; strcpy(newnode->word, newword); newnode->count = 1; newnode->next = null; return newnode; } createnode funksiyasi (tugun yaratish): kirish: o’qilayotgan fayldagi yangi so’z; chiqish: berilgan xotiradagi yangi tugun manzili. berilgan tugun manzilini qaytaradi yangi so’z agarda xotiradan joy ajratilmasa? ? * * ro’yxat boshigan tugun qo’shish 1) yangi tugun ko’rsatkichini ro’yxat boshiga o’rnatish: newnode->next = head; 2) yangi tugunni ro’yxat boshi sifatida …
3 / 53
i ... // q bilan nimadir qilish q = q->next; // keying tugunga o’tish } ... null head q * * ro’yxat oxiridan tugun qo’shish masala: ro’yxat oxiridan yangi tugun qo’shish. algoritm: q->next null ga teng bo’lsa oxirgi q tugunni topish; q manzilli tugundan keyin tugun qo’shshish (addafter prosedurasi). maxsus holat: bo’sh ro’yxatni qo’shish. void addlast ( pnode &head, pnode newnode ) { pnode q = head; if ( head == null ) { addfirst( head, newnode ); return; } while ( q->next ) q = q->next; addafter ( q, newnode ); } maxsus holat – bo’sh royxat qo’shish oxirgi tugunni izlash q tugundan keyin tugun qo’shsihs * * muammo: oldingi tugunni manzilini bilish kerak, orqaga qaytish mumkin emas! yechim: oldingi q tugunni topish (ro’yxat boshidan boshlanadi). berilgandan oldin tugun qo’shish void addbefore ( pnode & head, pnode p, pnode newnode ) { pnode q = head; if ( head …
4 / 53
mi va so’z berilganga teng emasmi * * yangi so’z qayerga qo’shiladi? masala: nayti uzel, pered kotorim nujno vstavit, zadannoe slovo, tak chtobi v spiske soxranilsya alfavitniy poryadok slov. funktsiya findplace: vxod: slovo (simvolnaya stroka); vixod: adres uzla, pered kotorim nujno vstavit eto slovo ili null, esli slovo nujno vstavit v konets spiska. pnode findplace ( pnode head, char newword[] ) { pnode q = head; while ( q && strcmp(newword, q->word) > 0 ) q = q->next; return q; } > 0 slovo newword stoit po alfavitu do q->word * * tugunni o’chirish void deletenode ( pnode &head, pnode p ) { pnode q = head; if ( head == p ) head = p->next; else { while ( q && q->next != p ) q = q->next; if ( q == null ) return; q->next = p->next; } delete p; } while ( q && q->next != p …
5 / 53
ko’riladigan bir bog’lamli ro’yxat har bir tuguni butun son va keyingi element adresi saqlanadigan ko’rsatkichdan iborat. eng birinchi elementi boshlang’ich marker bo’lib ma’lumot saqlash uchun emas balki ro’yxat boshiga o’tish uchun xizmat qiladi. bu element hech qachon o’chirilmaydi. ro’yxat elementi quyidagi strukturali tur obyekti http://acm.tuit.uz/forum struct slist_node { int info; struct slist_node* next; }; * ro’yxat bilan ishlovchi asosiy funksiyalar void delete(struct slist_node*p) – berilgan tugundan keyingi elementni o’chirish void insert(struct slist_node*p, int nn) - berilgan elementdan keyin element qo’shish int empty(struct slist_node*beg) – ro’yxat bo’shligini tekshirish bu funksiya asosida quyidagi funksiyalar kiritilgan struct slist_node* creat_slist(int size) – berilgan sondagi tugundan iborat ro’yxatni yaratish. tugun axborot qismi klaviatura orqali kiritilgan sonlar bilan to’ldiriladi. void free_slist(struct slist_node* beg) – ro’yxatni o’chirish void print_slist(struct slist_node* beg) - ro’yxat elementlarini ekranga chiqarish http://acm.tuit.uz/forum * stek stek deb shunday strukturaga aytiladiki, stekka kelib tushgan oxirgi elementga birinchi bo’lib xizmat ko’rsatiladi va stekdan chiqariladi. mazkur …

Want to read more?

Download all 53 pages for free via Telegram.

Download full file

About "s++ da dasturlash"

slayd 1 maxmudov anvarjon zokirovich e-mail: anvarjon.m@gmail.com fan nomi: “s++ da dasturlash” (2-semestr) “informatika asoslari” kafedrasi toshkent axborot texnologiyalari universiteti http://acm.tuit.uz talabalarga eslatma: darsga kech qolmaslik dars jarayonida uyali telefonlar o'chirib qo'yiladi 1-qoida dars jarayonida kiyinish madaniyatiga e'tibor berish mavzu tushunarsiz bo'lsa, savol beriladi 2-qoida 3-qoida 4-qoida topshiriqlar o'z vaqtida to'liq bajariladi 5-qoida http://acm.tuit.uz 2.8-ma’ruza ro’yxat, stek va navbat. http://acm.tuit.uz/forum * ro'yxat ko’p misollarda tarkibi, hajmi o’zgaruvchan bo’lgan murakkab konstruksiyalardan foydalanishga to’g’ri keladi. bunday o’zgaruvchan ma’lumotlar dinamik informasion strukturalar deb ataladi. eng asosiy dinamik informasion struktura bu...

This file contains 53 pages in PPT format (1.8 MB). To download "s++ da dasturlash", click the Telegram button on the left.

Tags: s++ da dasturlash PPT 53 pages Free download Telegram