概述:
顺序查找的查找过程为:从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录;反之,若直至第一个记录,其关键字和给定值比较都不等,则表明表中没有所查记录,查找不成功。
分析:
以查找数字为例,为提高查找效率,应设置“哨兵”(详见代码)。
源代码:
#include <stdio.h>
int search(int *a,int length){
int i=length; //定义长度
int key; //定义要查找的数
printf("请输入要查找的数:");
scanf("%d",&key);
a[0]=key; //设置"哨兵"
while(a[i]!=key){
i--;
}
return i;
}
int main(){
int length;
int x;
printf("请输入元素的个数:");
scanf("%d",&length);
int a[length+1];
printf("请依次输入元素(空格隔开):");
for(int i=1;i<=length;i++){
scanf("%d",&a[i]);
}
x=search(a,length);
if(x==0)
printf("查找的数不在表中");
else
printf("此数在表的第%d位\n",x);
return 0;
}
运行示例:
更多推荐
C语言实现顺序查找
发布评论