顺序查找及折半查找的实现

来源:百度知道 编辑:UC知道 时间:2024/06/16 05:33:32
1.建立一个顺序表,表中的每一个数据元素是一个记录,其中的某个域用来存储关键字的值,按关键字的值进行顺序和折半查找
2.在进行折半查找之前,将表中的数据排序,再对其进行折半查找
用C语言实现
谢谢啦

绝对可以用的,我之前练习数据结构的时候写的。
折半查找之前我没要求输入的就是按顺序的。你自己可以改下。
顺序查找:
#include <stdio.h>
#define MAX_SIZE 100

typedef struct{
int key;
}element;

element list[MAX_SIZE];
int seqsearch(element list[],int searchnum,int num);

int main()
{
int i,num,searchnum;
printf("how much number do you want to enter?");
scanf("%d",&num);
for(i=0;i<num;i++)
{
scanf("%d",&list[i].key);
}
while(1)
{
printf("what number do you want to search?");
scanf("%d",&searchnum);
printf("%d\n",seqsearch(list,searchnum,num));
}
return 0;
}

int seqsearch(element list[],int searchnum,int num)
{
int j;
list[num].key=searchnum;
for(j=0;list[j].key!=searchnum;j++)
;
return j<num?j:-1;
}

折半查找:
#include <stdio.h>