数据结构之---C语言实现顺序表查找(一)

所谓的顺序表查找就是一块连续的存储单元进行依次的访问查找。

比如说:

   1 98 2 8 99 0000 22 33 66 77 89

在这些数中查找22,则会从1 98 2 8 。。。依次向后进行比较。

实现代码:




//顺序表查找版本一
#include 
#include 
int Sequential_Search(int *a, int n, int key)
{
	int i;
	for(i = 0; i <= n; i++)
	{
		if(a[i] == key)
				return i;
	}
	return 0;
}
int main()
{
	int j = 0;
	int a[10];
	for(j = 0; j < 10; j++)
	{
		a[j] = j;
	}
	printf("%d",Sequential_Search(a, 10, 7));
	return 0;
}



这段代码含有一个哨兵:


//顺序白查找优化(带哨兵)
#include 
#include 
int Sequential_Search2(int *a, int n, int key)
{
	int i;
	a[0] = key;
	i = n;
	while(a[i] != key)
	{
		i--;
	}
	return i;
}
int main()
{
	int j;
	int a[100];
	for(j = 0; j < 100; j++)
	{
		a[j] = j;
	}
	printf("%d\n", Sequential_Search2(a, 100, 86));
	return 0;
}


你可能感兴趣的:(数据结构,C,&&,C++,算法)