#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
// 赋值
int a[5] = {1, 2, 3, 4, 5};
vector<int> vec(a, a + 5);
for (int k = 0; k < vec.size(); k++)
{
cout << vec[k] << '\t';
}
cout << endl;
vector<int> ::iterator i;// 迭代器
// lower_bound 大于等于x的地址
i = lower_bound(vec.begin(), vec.end(), 3);
cout << *i << endl; // 3
// upper_bound 大于x的地址
i = upper_bound(vec.begin(), vec.end(), 3);
cout << *i << endl;// 4
vec.erase(i);// 删除4
cout << endl << "删除后的数组" << endl;
for (int k = 0; k < vec.size(); k++)
{
cout << vec[k] << '\t';
}
i = vec.begin();
vec.insert(i, 8);// 将8插入首位前面
cout << endl << "添加后的数组" << endl;
for (int k = 0; k < vec.size(); k++)
{
cout << vec[k] << '\t';
}
//vector<int> ::iterator j;
int b[4] = { 14,15,16,18 };
vector<int> vec2(b, b + 4);
vec.insert(vec.begin() + 2, vec2.begin(), vec2.end());// 将vec2中数值插入到vec第2个数值之后
cout << endl << "添加后的数组2.0" << endl;
for (int k = 0; k < vec.size(); k++)
{
cout << vec[k] << '\t';
}
cout << endl << "删除后的数组2.0" << endl;
vec.erase(vec.begin() + 2, vec.end());// 删除vec第二个数值以后的数
for (int k = 0; k < vec.size(); k++)
{
cout << vec[k] << '\t';
}
return 0;
}
【C++】 vector 使用 + algorithm 的upper_bound
最新推荐文章于 2025-04-08 15:10:50 发布