/*顺序查找*/
#include<iostream>
using namespace std;
int num[10]={1,3,14,23,65,32,43,90,79,34};
int main(){
int x;
int flag=0;
cin>>x;
for(int i=0;i<10;i++){
if(num[i]==x){
cout<<"j="<<i<<endl;
flag=1;
}
}
if(flag==0){
cout<<"j=0"<<endl;
}
}
/*对分查找*/
#include<iostream>
#include<algorithm>
using namespace std;
int num[10]={1,4,2,65,23,564,7,34,67,34};
int search(int num[],int len,int x){
int first=0;
int last=len-1;
int middle;
while(first<=last){
middle=(first+last)/2;
if(num[middle]<x){
first=middle+1;
}else if(num[middle]>x){
last=middle;
}else if(num[middle]==x){
return middle;
}else{
return -1;
}
}
}
int main(){
sort(num,num+10);
int x;
cin>>x;
if(search(num,10,x)!=-1){
cout<<"j="<<search(num,10,x)<<endl;
}else{
cout<<"j=0"<<endl;
}
}
算法分析与设计(实验3数据检索)
最新推荐文章于 2021-11-15 11:18:46 发布