//顺序查找
#include <stdio.h>
#define N 20
typedef struct {
int elem[N];
int length;
} STable;
int ST_search(STable st, int key) {
int i;
st.elem [0] = key;
for (i = st.length; st.elem[i] != key; i--)
;
return i;
}
2.折半查找
//折半查找
#include <stdio.h>
#define N 20
typedef struct {
int elem[N];
int length;
} STable;
int ZB_search(STable ST, int key) {
int low, hight, mid;
low = 1;
hight = ST.length ;
while ( low <= hight) {
mid = (low + hight) / 2;
if (ST.elem[mid] == mid) {
return mid;
} else if (ST.elem[mid] < key) {
hight = mid - 1;
} else {
low = mid + 1;
}
}
return -1;
}