agar (birinchi) qaytish & (birinchi->inf);
boshqa
} Navbatning keyingi elementlariga kirish uchun siz ulardan birinchisini qayta ishlashingiz (olib tashlashingiz) kerak, buning uchun usul qo'llaniladi: bool DelFirst (), birinchi elementni o'chiradi yoki navbat bo'sh bo'lsa, 0 ni qaytaradi: bool DelFirst () {agar (birinchi) DelElemni qaytarish (birinchi->inf. inf); boshqa qaytish 0; } Navbatni tozalash va kompyuterning operativ xotirasini bo'shatish uchun birinchisidan boshlab navbatning barcha elementlarini ketma-ket olib tashlaydigan void free () usuli qo'llaniladi: bekor () { agar (birinchi! = NULL) qil DelElem (birinchi->inf. inf); while (birinchi); } 3.8 Navbatdagi elementlarni ekranda ko'rsatish void Show () usuli navbatning barcha elementlarini ekranda quyidagi formatda aks ettiradi: "VALUE|PRIORITY" yoki navbatda elementlar bo'lmasa "NULL": void Show () {DKList *f = birinchi; agar (! f) { cout << "NULL"; qaytish; } esa (f) { cout << f->inf. inf << '|' << f->inf. p << '\t'; f = f->keyingi; } } Navbatning o'lchamlarini (elementlar sonini) so'rash uchun unsigned ListSize() usuli qo'llaniladi, bu elementlar sonini belgisiz butun son doimiysi sifatida qaytaradi: unsigned ListSize () { DKList *f = birinchi; int n = 0; esa (f) f = f->keyingi, ++n; } T* ListToArr() usuli T tipidagi koʻrsatgichni ustuvorliklarni oshirish (kamaytirish) tartibida tartiblangan navbat elementlarining qiymatlaridan tashkil topgan massivga qaytaradi:
Do'stlaringiz bilan baham: |