//查找问题--哨兵
#include<iostream>
using namespace std;
int SeqSearch(int a[],int n,int k){
//向后移动一位
int m=n+1;
int b[m];
b[0]=k;
for(int i=1;i<m;i++){
b[i]=a[i-1];
}
int j=0;
for(j=m-1;j>=0;j--){
if(b[j]==k){
break;
}
}
return j; //不管是否找到,都会有
}
int main(){
cout<<"请输入数据总数:"<<endl;
int n;
cin>>n;
int a[n];
cout<<"请输入数组:"<<endl;
for(int i=0;i<n;i++){
cin>>a[i];
}
cout<<"请输入要查找的数:"<<endl;
int k;
cin>>k;
int res=0;
res=SeqSearch(a,n,k);
if(res>0){
cout<<"已经找到,在:"<<res-1<<"位置上";
}
else{
cout<<"未找到";
}
}
自用---顺序查找(P36)
最新推荐文章于 2024-08-22 10:51:34 发布