Binærsøk i tabell

Binærsøk er en veldig effektiv måte å søke i tabeller på. En forutsetning for at man skal kunne bruke binærsøk er at tabellen er sortert på forhånd

Måten dette skjer på er som følger:

#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>

const int str = 10;
int tabell[str]={0,1,2,3,5,6,7,8,9};

int binarSoek(int SortertTabell[], int forste, int siste, int finn) {
   while (forste <= siste) {
       int midt = (forste + siste) / 2;
       if (finn > SortertTabell[midt])
           forste = midt + 1;
       else if (finn < SortertTabell[midt])
           siste = midt - 1;
       else
           return midt;
   }
   return -(forste + 1);
}

int main()
{
	cout<<binarSoek(tabell,0,9,7);
	return 0;
}