#include<stdio.h>
#define MAXSIZE 30
typedef int datatype;
typedef int KeyType;
typedef struct{
KeyType key;
}Key;
typedef struct {
Key data[MAXSIZE];
int length;
}SeqList;
int Seqsearch(SeqList L,KeyType kx)
{ int i;
L.data[0].key=kx; //0 位置本身为空单元
for(i=L.length;L.data[i].key!=kx;--i);
return i;
}
int Binary_Search(SeqList L,KeyType kx)
{ int low,high,mid;
low=1; high=L.length;
while (low<=high)
{ mid=(low+high)/2;
if(kx==L.data[mid].key) return mid;
else if(kx<L.data[mid].key)
high=mid-1;
else low=mid+1;
}
return 0;
}
int main(){
SeqList A={{0,20,25,35,40,55,60,75,85,95},9};
int i=Seqsearch(A,20);
printf("%d\n",i);
int n=Binary_Search(A,20);
printf("%d",n);
}
静态表查找(顺序查找,折半查找)
最新推荐文章于 2022-10-11 11:24:31 发布