折半查找(二分查找)——簡單說明

折半查找要求:

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 }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章