折半查找

//******************************************
//折半查找---传进来的表是经过排序后的有序表
//
//*******************************************
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;   
} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值