线性表的顺序查找

运行结果:
线性表的顺序查找_第1张图片
代码:

#include
typedef int KeyType;
typedef int InfoType;
typedef struct
{
     
	KeyType key;
	InfoType otherinfo;
}ElemType;
typedef struct
{
     
	ElemType *R;
	int length;
}SSTable;
int Search_Seq(SSTable ST,KeyType key)
{
     
	int i;
	for(i = ST.length-1; i >=0; i--)
		if(ST.R[i].key == key )
		return i;
	return -1;
}
void ListInsrrt(SSTable &ST)
{
     
	int i,c,d;
	printf("您要输入几个值:");
	scanf("%d",&c);
	printf("赋值:");
	for(i = 0; i < c; i++)
	{
     
	  scanf("%d",&d);
	  ST.R [i].key  = d;
	  ST.length ++;
	}
	printf("赋值成功!");
	for(i = 0; i < ST.length ; i++)
	{
     
		printf("%6d", ST.R [i].key);
	}
}

int main()
{
     
	int key,i;
	SSTable ST;
	ST.R = new ElemType;
	ST.length = 0;
	ListInsrrt(ST);
	printf("请输入要查找的数值:");
	scanf("%d",&key);
	i = Search_Seq(ST,key);
	if(i == -1)
		printf("不存在该元素!");
	else 
	printf("该值是第%d个元素",i+1);
	return 0;
}



	
	

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