注意:使用 lower_bound 与 upper_bound 函数前序列一定要保证是有序的
//lower_bound(起始地址,结束地址,要查找的数值) 返回大于或等于val的第一个元素位置,返回类型为迭代器 //upper_bound(起始地址,结束地址,要查找的数值)返回大于val的第一个元素位置,返回迭代器 //binary_search(起始地址,结束地址,要查找的数值) 返回的是是否存在这么一个数,是一个bool值。
void main() { vector<int> t; t.push_back(1); t.push_back(2); t.push_back(3); t.push_back(4); t.push_back(6); t.push_back(7); t.push_back(8); int low=lower_bound(t.begin(),t.end(),5) - t.begin(); int upp=upper_bound(t.begin(),t.end(),5) - t.begin(); cout<<low<<endl; cout<<upp<<endl; return 0; }