閱讀700 返回首頁    go 阿裏雲 go 技術社區[雲棲]


折半查找

//******************************************
//折半查找---傳進來的表是經過排序後的有序表
//
//*******************************************
void Search_Bin ( SSTable ST, string key ) {   
 int low , mid,index, high ;  // 置區間初值
 low=1;
 index=0;
 high=ST.length;
    while (low<=high) 
 {
      mid = (low+high)/2; 
      if (key ==ST.elem[mid].key )
   {
    cout<<endl<<"折半查找該關鍵字的位置是第 "<<mid<<" 位\n"; // 找到待查元素
    cout<<endl<<endl;
    return;
   }
      else  if (key < ST.elem[mid].key )
   high = mid - 1;   // 繼續在前半區間進行查找
      else  low = mid + 1;   // 繼續在後半區間進行查找   
   } 
 cout<<endl<<"抱歉,折半查找沒找到該關鍵字。\n";
 cout<<endl<<endl;   
} 


最後更新:2017-04-02 18:44:44

  上一篇:go java對漢字和漢語拚音的操作——Pinyin4j的基本用法
  下一篇:go android之Fragment靜態實現實例