折半查找要求:
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 }