【C语言】实现顺序表查找

如题所述

#include <stdio.h>
#include <stdlib.h>
int MAX=100000;
/*二分查找*/
int bs(int data[],int dvalue){
int l,u,m;
int p;
l=0;u=MAX;

for(;;){
if(l>u)
return -1;
m=(l+u)/2;
if (data[m]==dvalue){
return m;
}else if(data[m]>dvalue){
u=m-1;
}else{
l=m+1;
}
}

}
/*顺序查找*/
int ss(int data[],int dvalue){
int i;
// int l=len(data);
for(i=0;i<MAX;i++){
// printf("%d/n",data[i]);
if(data[i]==dvalue){
return i;
}
}
return -1;
}
int main(){
//int MAX=1000;
int data[MAX];
int i;

//给数组赋值
for(i=0;i<MAX;i++){
data[i]=i*10;
}

//要查找的值
int value=300;

//顺序查找
int s=ss(data,value);
printf("%d/n",s);
//二分查找
int d=bs(data,value);
printf("%d/n",d);

return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答