顺序表查找(Sequential Search)又叫线性表查找,是最基本的查找法,从第一个开始到最后一个逐个与关键字比较。成功不成功都返回。

//顺序表查找
int SequentialSearch(int* a,int n, int key)
{
	for(int i=0;i<n;i++)
	{
		if(key==a[i])
		{
			return i;
		}
	}
	else
		return -1;
}
上面代码缺点是每次取i都要跟n 比较;
//顺序表查找优化
int SequentialSearch2(int* a,int n, int key)
{
	a[n]=key;
	int i=0;
	while(key != a[i])
	{
		i++;
	}
	return i;//返回n表示失败了
}
此时代码从尾部开始查找,这种查找避免了每次查找i跟n的比较 时间复杂度为O(n);