vector的定义和特性
注意:vector需要开C++11标准
vector的常用函数
push_back():将元素添加到vector末尾
pop_back():删除vector末尾的元素
begin()和end():返回指向vector第一个元素和最后一个元素之后一个位置的迭代器。
示例
vector<int> vec={10,20,30};for(auto it=vec.begin();it !=vec.end();it++){cout<<*it<<" ";
vector排序去重
示例
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){vector<int> vec={2,1,3,2,4,1,5,4};sort(vec.begin(),vec.end());auto last=unique(vec.begin(),vec.end());vec.erase(last,vec.end());for(const auto& num:vec){cout<<num<<" ";}return 0;
}
代码示例
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){//创建一个空的vector对象vector<int> numbers;//向向量中添加元素numbers.push_back(5); numbers.push_back(2); numbers.push_back(8); numbers.push_back(5); numbers.push_back(1); numbers.push_back(2); numbers.push_back(9); numbers.push_back(8);//打印向量中的函数cout<<"原始向量中的函数:";for(const auto&number:numbers){cout<<number<<" ";} cout<<endl;//对向量进行排序sort(numbers.begin(),numbers.end());//打印排序后的向量cout<<"排序后的向量:";for(const auto&number:numbers){cout<<number<<" ";} cout<<endl;//去除重复元素numbers.erase(unique(numbers.begin(),numbers.end()),numbers.end());//打印去重后的向量cout<<"去重后的向量: ";for(const auto&number:numbers){cout<<number<<" ";} cout<<endl;//向向量中插入元素numbers.insert(numbers.begin()+2,3);//打印插入元素后的向量cout<<"插入元素后的向量:";for(const auto&number:numbers){cout<<number<<" ";} cout<<endl;//检查向量是否为空if(numbers.empty()){cout<<"向量为空"<<endl;} else{cout<<"向量不为空"<<endl;}//获取向量的大小cout<<"向量的大小:"<<numbers.size()<<endl;//清空向量numbers.clear();//检查向量是否为空if(numbers.empty()){cout<<"向量为空"<<endl;} else{cout<<"向量不为空"<<endl;} return 0;
}