👤

modificati algoritmul de căutare binară astfel încât să se aplice într-un tablou de memorie ordonat descrescător

{int poz;
poz=(p+u)/2;
if(nr==x[poz]) coût<<Găsit pe poziția "<<poz;
else {if(p<u) { if(nr<x[poz]) caut(p,poz-1);
else caut(poz+1,u);}
else {cout<<"Nr căutat nu se afla in șir";}
}
}​


Răspuns :

{int poz;

poz=(p+u)/2;

if(nr==x[poz]) cout<<Găsit pe poziția "<<poz;

else {if(p<u) { if(nr>x[poz]) caut(p,poz-1);

else caut(poz+1,u);}

else {cout<<"Nr căutat nu se afla in șir";}

}

Algoritmul e aproape identic. Singura diferență este faptul că se inversează intervalul înjumătățit in care trebuie căutat numărul (in loc de mai mic avem mai mare).