思路
#include <iostream>
using namespace std;
#define MAXSIZE 7 //数组的零号元素用来存放查找的元素,也称哨兵。![在这里插入图片描述](https://img-blog.csdnimg.cn/20191027192000626.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTAzOTY1Mg==,size_16,color_FFFFFF,t_70)
typedef struct
{
int Element[MAXSIZE];
int Lenth;
}LNode,*List;
int SequentialSearch(List pt,int k);
int main()
{
LNode list;
list.Element[1]=1;
list.Element[2]=2;
list.Element[3]=3;
list.Element[4]=4;
list.Element[5]=5;
list.Element[6]=6;
list.Lenth=MAXSIZE;
List pt=&list;
while(1)
{
cout<<"输入你想查找的元素"<<endl;
int k;cin>>k;
cout<<"你查找的元素位置在"<<SequentialSearch(pt,k)<<endl;
}
return 0;
}
int SequentialSearch(List pt,int k)
{
pt->Element[0]=k;//设置哨兵
int i;
for(i=pt->Lenth;pt->Element[i]!=k;i--);
return i;//匹配成功返回该位置,不成功返回0;
}
结果
时间复杂度 o(n)