1.原理简介
最坏情况须比较n+1次,时间复杂度:O(n) 。平均查找长度为ASL=1/n(1+2+3+…+n)=(n+1)/2
2.C++代码实现
(1)数组法实现
int SequenceSearch(int a[], int value, int n)//数组查找
{
int i;
for(i=0; i<n; i++)
if(a[i]==value)
return i;
return -1;
}
(2)建立顺序变查找
#define MAXLEN 50
typedef struct
{
int data[MAXLEN];
int len;
}Seqlist;
void main()
{
int i, n, x, j, a;
Seqlist *L;
x = 3;j = n;
L = (Seqlist*)malloc(sizeof(Seqlist));
L->len = 0;
cout << "Input length of List:";
cin >> n;
L->len = n;
cout << "Input element of List:" << endl;
for (i = 1; i <= n; i++)
cin >> L->data[i];
for (i = 1; i <= L->len; i++)
cout << L->data[i] << " ";
cout << endl;
L->data[0] = x;
while (L->data[L->len] != x)
L->len--;
cout << L->len;
}