#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define EQ(a, b) ((a) == (b)) //对数值型关键字的宏定义
#define LT(a, b) ((a) < (b))
#define LQ(a, b) ((a) >= (b))
typedef int ElemType;
typedef struct {
ElemType *elem;
int lenth;
}SSTable;
int create(SSTable &S) {
S.elem = (ElemType *)malloc((S.lenth+1) * sizeof(ElemType));
int i;
printf ("请输入表元素:\n");
for (i=1; i<=S.lenth; i++) {
scanf ("%d", &S.elem[i]);
}
return 0;
}
int search_seq(SSTable ST, int key) {
ST.elem[0] = key;
int i;
for(i=ST.lenth-1; i>0; --i) {
if (EQ(ST.elem[i], key))
return i;
}
return 0;
}
int search_bin(SSTable ST, int key) {
int mid;
int low = 0;
int high = ST.lenth-1;
while (low <= high) {
mid = (low + high) / 2;
if (EQ(ST.elem[mid], key))
return mid;
else if (LQ(ST.elem[mid], key))
high = mid
C语言实现顺序表和有序表的查找以及有序表的递归查找
最新推荐文章于 2024-05-09 14:41:44 发布