折半查找要求:
1、必须采用顺序存储
2、关键字是有序的排列
算法复杂度o(log(n))
核心代码:
///该函数返回查找的关键字data在顺序表中的下标,若返回值为-1则表示没有查找到对应的关键字
4 int zhe_ban(int *p, int data, int len)
5 {
6 int higt=len-1,low=0,i=0,mid;
7
8 while (low <= higt)
9 {
10 mid = (higt + low)/2;
11 if (p[mid] == data) return mid;
12
13 if (data < p[mid]) higt = mid-1;
14 else low = mid +1;
15 }
16
17 return -1;
18 }