在c++ 中我们经常会出现不知道数组到底改开多少的问题,开多了会浪费内存,开少了程序无法运行 vector 就可以帮我们完美的解决这个问题
-
vector 的定义
#include<iostream> #include<vector> using namespace std; int main() { vector<int> v1; // <数据类型> }
-
vector 的基本操作函数
vector<int> v1; v1.push_back(1); //向末尾添加一个元素 v1.pop_back(); // 删除最后一个元素 v1.begin(); //返回vector 迭代器的第一个位置 v1.end(); // 返回迭代器最后一个位置的后一个位置的迭代器 v1.insert(位置,数据) //在 位置出插入数据,其后数据往后移 如v1.insert(v1.begin()+1,2) v1.empty() // 检查vector 是否为空
-
vector 的排序和去重
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> p1={3,2,2,1,9,4,5,6,2,4,5,6,8};
cout << "原来的序列是" <<endl;
for(const auto&p : p1)
{
cout << p << ' ';
}
cout << endl;
sort(p1.begin(),p1.end());
auto last=unique(p1.begin(),p1.end()); //返回的是一个指向第一个重复元素的迭代器
p1.erase(last,p1.end());
for(const auto&p : p1)
{
cout << p << ' ';
}
cin.get();
}