线性查找
1.算法:逐个比较,找到为止。
2.评价:O(N),对数据的有序性没有要求。
#include<iostream>
#include<cstdlib>
using namespace std;
int lfind(int *data,int size,int value){//线性查找->返回元素下标
for(int i=0;i<size;++i)
if(data[i]==value)
return i;
return -1;
}
int main(){
int *data=new int;
int size,value;
cout<<"Pls input the size:";
cin>>size;
srand(time(0));
for(int i=0;i<size;++i){
data[i]=rand()%200;
}
cout<<"Pls input the value:";
cin>>value;
int ret=lfind(data,size,value);
if(ret==-1)
cout << "Not found" << endl;
else
cout<<"data["<<ret<<"] = "<<value<<endl;
return 0;
}
测试结果:
Pls input the size:1234
Pls input the value:123
data[126] = 123