C/C++:迭代器的简单二分查找

2015-07-20 17:06:09 ? 作者: ? 浏览: 2

?

?

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       using namespace std; int main() { vector
      
       c{1, 2, 3, 4, 5};//默认排好了序 auto beg = c.begin();auto end = c.end();//搜索范围 auto mid = c.begin() + (end - beg) / 2;//初始中间点 auto aim = 3;//目标值 while (mid != end && *mid != aim) { if (aim < *mid){ end = mid; }//前半部分 else{ beg = mid + 1; }//后半部分 mid = beg + (end - beg) / 2;//处理寻找之后的mid值 } if (*mid == aim){ cout << Yes << endl; } else{ cout << No << endl; } system(pause); return 0; } 
      
     
    
   
  


?

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: