顺序查找法(在一列数中查找某数x)
c语言代码
#include<stdio.h>
int Find(int*a,int p)
{
int i;
for(i=0;i<5;i++)
{
if(a[i]==p)
{
return i;
}
}
if(i==5)
return -1;
}
int main()
{
int a[5] = {1,3,5,7,9};
int p=5;
printf("%d is in a[%d]",p,Find(a,p));
return 0;
}
折半查找法(只能对有序序列查找)
c语言代码
#include<stdio.h>
int main()
{
int a[5] = {1,3,5,7,9};
int p=5,top=5,mid,bot=0;
mid =(top+bot)/2;
while(bot<top)
{
if(a[mid]==p) break;
top = mid; mid/=2;
}
printf("%d is in a[%d]",p,mid);
return 0;
}