Bisekcija/Implementacija CSharp

Iz MaFiRaWiki

Iterativno

  1. public bool Bisekcija(int[] tab, int iskano) {
  2. int doKam = tab.Length - 1; // desna meja iskanja
  3. int odKje = 0, sred; //
  4. while(odKje <= doKam) { // dokler je še kaj podatkov za iskanje
  5. sred = (odKje + doKam) / 2; // indeks sredine dela
  6. // kjer iščemo
  7. if(tab[sred] < iskano)
  8. odKje = sred + 1; // iščemo desno
  9. else
  10. if(tab[sred] > iskano)
  11. doKam = sred - 1;
  12. else // tab[sred] == iskano
  13. return true;
  14. }
  15. return false; // ni ga!
  16. }
Osebna orodja