数据结构-查找(C语言)——顺序查找代码篇

顺序查找

//顺序查找
#include
#define MAXSIZE 30
typedef struct
{
	int key;//int为关键字key的数据类型
	char data;//其他数据,可有可无 
 } SeqList;//顺序表元素类型

int SeqSearch(SeqList R[],int n,int k)
{
	int i=n;
	R[0].key=k;//R[0].key 为查找不成功的监视哨
	while(R[i].key !=k)//由表尾向表头方向查找 
	   i--;
	return i;//查找成功返回找到的位置值,否者返回0 
 }
int main()
{
	int i=0,j,x;
	SeqList R[MAXSIZE];//建立存放顺序表的元素
	//生成顺序表中的数据(-1结束)
	scanf("%d",&x);
	while(x!=-1)
	{
		R[i].key=x;
		scanf("%d",&x);
		i++;
	 }
	//输出顺序表中的数据
	for(j=0;j<i;j++)
	    printf("%2d",R[j].key);
	//输入查找的数据(-1)结束
	scanf("%d",&x);
	i=SeqSearch(R,i,x);
	if(i>0)
		printf("Position of %d in SeqList is %d\n",x,i+1);//找到输出顺序表中的位置
	else
		printf("No Fund %d in SeqList!\n",x);//输出未找到的信息
 }
/*测试数据:
1
2 3 4 5 6 -1
2

1
2 3 4 5 6 -1
8

*/ 

你可能感兴趣的:(数据结构,程序设计)