实验完整代码
#include<stdio.h>
//顺序查找
typedef int datatype;
typedef struct{
datatype key;
float info;
}SeqChart;
//顺序查找
int SeqSearch(SeqChart s[],int n,int x){
int i;
s[0].key=x;//哨兵,第一个位置不存数据
for(i=n;s[i].key!=x;i--);//不必判断数组是否会越界,当i==0时,会跳出循环
return i;
}
//测试
int main(){
int data[11]={1,2,3,4,5,6,7,8,9,10,11};
int i;
SeqChart s[12];
int flag;
for(i=1;i<=11;i++){
s[i].key=data[i-1];
s[i].info=(float)data[i-1];
}
flag=SeqSearch(s,11,10);
if(flag){
printf("Found the record %d!,Information is %.2f\n",s[flag].key,s[flag].info);
}
}
实验结果