vecyor容器:
vector是c++标准模板库(STL)中的部分内容。之所以认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单的说:vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
头文件:#incldue<vector> ; vector属于std命名域的内容,因此需要通过命名限定:using std::vector;也可以直接使用全局的命名空间方式:using namespace std;
另外,它的元素类型可以是int,double,char等简单类型,也可以是结构体或string基本字符序列容器,使用起来非常灵活。
end()返回指向最后一个数据之后的迭代器:
(需要定义头文件“#include<algorithm>”)
(需要定义头文件“#include<algorithm>”)
vector是c++标准模板库(STL)中的部分内容。之所以认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单的说:vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
头文件:#incldue<vector> ; vector属于std命名域的内容,因此需要通过命名限定:using std::vector;也可以直接使用全局的命名空间方式:using namespace std;
另外,它的元素类型可以是int,double,char等简单类型,也可以是结构体或string基本字符序列容器,使用起来非常灵活。
vector成员函数:
vector<int> v;
v.push_back(1);
vector<int> v;
v.insert(v.begin()+1,4);
vector<int> v;
v.pop_back();
vector<int> v;
v.erase(v.begin()+1,v.begin()+5);
v.erase(v.begin()+2)///删除两个元素,从0开始计数
vector<int> v;
v.clear();
end()返回指向最后一个数据之后的迭代器:
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
vector<int>::iterator it;
for(it = v.begin();it!=v.end();it++)
printf("%d ",*it);
(需要定义头文件“#include<algorithm>”)
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
reverse(v.begin(),v.end());
vector<int>::iterator it;
for(it = v.begin();it!=v.end();it++)
printf("%d ",*it);
(需要定义头文件“#include<algorithm>”)
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
sort(v.begin(),v.end());
vector<int>::iterator it;
for(it = v.begin();it!=v.end();it++)
printf("%d ",*it);
bool Comp(const int&a,const int &b)
{
if(a!=b)return a>b;
else return a>b;
}
sort(v.begin(),v.end(),Comp);
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
if(!v.empty())
printf("v is not empty!\n");
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
printf("%d\n",v.size());