顺序表查找算法

时间:2021-11-27 11:13:29

顺序表查找算法,是算法中最基础的查找技术。

算法原理:通俗的说,从表中查找数据,只要看到数据与所取值相同,就返回当前值索引。

上代码:

public  int  seqSerch(int []a, int key){
int i,n=a.length;
for(i = 1; i < n ; i++){
if( a[i] == key ){
return i;
}
}
}

代码很简单,但是当遇到多线程或者并发请求量大的时候,i的值可能会越界。所以,程序界有个

有名的哨兵模式,下面是改写后的代码:

public int seq_serch(int []a, int key){	int i;	a[0] = key;//哨兵	i = a.length//从尾部开始	while(a[i] != key){	     i--;	}	return i;//如果返回0则查找失败}

总结:顺序查找技术遇到查找的范围非常大时,效率极为低下。数据量不大时,建议使用哨兵模式。