103
Biz tomonimizdan topilgan uchinchi element ro„yhat
boshiga bir qadam
suriladi (ya‟ni ikkinchi bo„lib qoladi). Birinchi element ko„rsatkichi
uchinchi
elementga
joylashtiriladi, ikkinchi element ko„rsatkichi to„rtinchi,
shunday qilib
uchinchi element ikkinchi joyga joylashib qoladi. Agar mazkur elementga yana bir
bor murojaat qilinsa, u holda u ro„yhat boshida bo„lib qoladi.
node *s=NULL;
node *q=NULL;
node *p=table;
while (p != NULL){
if (key == p->k){ //transponerlaymiz
if( q ==NULL){//o‘rinlashtirish shart emas
search=p;
exit(0);
}
q->nxt=p->nxt;
p->nxt=q;
if (s == NULL) table = p;
else s->nxt = p;
search=p;
exit(0);
}
s=q;
q=p;
p=p->nxt;
}
search=NULL;
exit(0);
Ishni bajarishga oid namuna
104
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.
key kalitga mos elementni izlash chegaralarini aniqlab olamiz. Dastlab u
Dostları ilə paylaş: