Mundarija: Kirish Ro'yxatlar. Amalga oshirish imkoniyatlari ro'yxati


Priority* GetElem () { agar (birinchi)


Download 34.46 Kb.
bet9/12
Sana31.03.2023
Hajmi34.46 Kb.
#1313943
1   ...   4   5   6   7   8   9   10   11   12
Bog'liq
1111Doimiy ustuvor navbat algoritmlari

Priority* GetElem () {

agar (birinchi)

qaytish & (birinchi->inf);


boshqa

NULLni qaytarish;

}

3.6 Navbatning birinchi elementini olib tashlang

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;

}

3.7 Navbatni tozalash

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;

}

}

3.9 Navbat hajmini bilib oling

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;

qaytish n;

}

3.10 Navbatni massivga aylantirish

T* ListToArr() usuli T tipidagi koʻrsatgichni ustuvorliklarni oshirish (kamaytirish) tartibida tartiblangan navbat elementlarining qiymatlaridan tashkil topgan massivga qaytaradi:


Download 34.46 Kb.

Do'stlaringiz bilan baham:
1   ...   4   5   6   7   8   9   10   11   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling