binary_search()、upper_bound()、lower_bound() 二分查找

vector a = {0,1,2,2,3,4}; 使用前提是a已经是升序排列

cout << binary_search(a.begin(), a.end(), 3);
// 找是否存在3,return false or true

auto it = upper_bound(a.begin(), a.end(), 2);// 从左到右返回第一个大于2的数字的地址

auto itt = lower_bound(a.begin(), a.end(), 2);// 从左到右返回第一个大于等于2的数字的地址

// 找不到就返回a.end()

猜你喜欢

转载自blog.csdn.net/qq_45812180/article/details/114495535