Transpozitsiya usuli


Download 89.36 Kb.
bet2/4
Sana29.12.2022
Hajmi89.36 Kb.
#1071982
1   2   3   4
Bog'liq
C 1

exit(0);




    1. Topilgan elementni ro‘yhat boshiga qo‘yish orqali

qayta tartibga keltirish



5.2-rasm. Ro‘yhatni qayta tartibga keltirish

Topilgan element 5.2-rasmdagidek birdaniga ro‘yhat boshiga joylashtiriladi. Tuzilmadan har safar birorta element izlab topilsa va u ro‘yhat boshiga olib borib qo‘yilaversa, natijada oxirgi izlangan elementlar ro‘yhat boshiga joylashib qoladi va biz oxirgi vaqtlarda izlangan elementlarni tez izlab topish imkoniga ega bo‘lamiz.
Boshida q ko‘rsatkich bo‘sh, p esa ro‘yhat boshini ko‘rsatadi; p ikkinchi elementni ko‘rsatganda, q birinchini ko‘rsatadi. Ro‘yhat boshi ko‘rsatkichi (table) birinchi elementni ko‘rsatadi. Ro‘yhatda key kalitli element topilsa, u p ko‘rsatkich bilan, undan oldingi element esa q ko‘rsatkich bilan belgilanadi. Shu topilgan p elementni ro‘yhat boshiga joylashtiriladi.
Dastur kodi
node *q=NULL;
node *p=table;
while (p !=NULL){
if (key == p->k){
if (q == NULL) { //o‘rinlashtirish shart emas
search = p;
exit(0);
}
q->nxt = p->nxt;
p->nxt = table;
table = p;
exit(0);
}
q = p;
p = p->nxt;
}
search = NULL;

exit(0);




Ishni bajarishga oid namuna

Talabalar ma’lumotlaridan – FIO va adresdan iborat jadval berilgan. Binar qidiruvdan foydalanib TTJ da yashaydigan talabalar ro‘yhatini hosil qiling.


Algoritm

  1. Jadvalga n ta talaba FIO va adreslarini kiritamiz.

  2. Binar qidiruvni jadvalning birorta maydonida amalga oshirish uchun jadvalni shu maydoni bo‘yicha tartiblab olish kerak. Shuning uchun masalaning qo‘yilishida adresi TTJ bo‘lgan talabalarni topish kerakligi sababli jadval ma’lumotlarini adres maydoni bo‘yicha saralab olamiz. Masalani yechishda to‘g‘ridan-to‘g‘ri tanlash orqali saralashdan foydalanilgan.


  3. Download 89.36 Kb.

    Do'stlaringiz bilan baham:
1   2   3   4




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