查寻第一次出现/不出现指定对象的位置:lower_bound()与upper_bound()
查找第一次出现/不出现指定对象的位置:lower_bound()与upper_bound()
可以利用lower_bound()成员函数查找向量容器中第一次出现某个对象的位置;upper_bound()成员函数查找向量容器中第一次不出现某个对象的位置。
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int_tmain(int argc, _TCHAR* argv[])
{
vector<int> vecInt;
for(int i=0; i<8;++i)
{
vecInt.push_back(i);
}
vector<int>::iterator whereIt;
whereIt= lower_bound(vecInt.begin(),vecInt.end(),4);//查找第一次出现的位置
cout<<"元素之后的元素:"<<endl;
copy(whereIt,vecInt.end(),ostream_iterator<int>(cout,"")); //输出之后的元素
whereIt= upper_bound(vecInt.begin(),vecInt.end(),0);//查找第一次不出现的位置
cout<<"\n第一次不出现的位置之后的元素:"<<endl;
copy(whereIt,vecInt.end(),ostream_iterator<int>(cout,"")); //输出之后的元素
return 0;
}
执行结果: