Tuesday, May 5, 2009

Interpolation_Search

Interpolation_Search


#include

#include

#include

#include

int main() {

int data[9]={3,9,11,12,15,17,23,31,35};

int low,high;

int flag=0,d=36;

float pos1;

int pos,n=9;

clrscr();

low=0;

high=n-1;

do {

pos1=(float)(d-data[low])/(data[high]-data[low])*high-low+low;

pos=floor(pos1);

if(data[pos]==d) {

flag=1;

break;

}

if(data[pos]>d) low=pos+1;

}

while(d>=data[low]&&d<=data[high]);

if(flag==0) printf("Data Tidak ada!\n"); else printf("Data ada!\n");

getch();

}

No comments:

Post a Comment