程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C/C++:迭代器的簡單二分查找

C/C++:迭代器的簡單二分查找

編輯:C++入門知識

C/C++:迭代器的簡單二分查找


 

 

#include 
#include 
#include 
#include 

using namespace std;

int main()
{
	vectorc{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;
} 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved