#include<stdio.h>
//要引入vector头文件,引入 using namespace std;
#include<vector>
using namespace std;
int main(){
//1.vector的定义:vector<type> name;
vector<int> a;
//和一维数组相同,type可以是任何基本类型,比如int double,也可以是STl标准容器,但是注意>> 之间添加空格> >
vector<vector<int> >b;//相当于二维数组了,二维都可变;
vector<int> c[10];//一维长度不可变,二维长度可变
//2.数据元素的添加push_back函数
a.push_back(1);
a.push_back(2);
a.push_back(3);
b.push_back(a);
//3. 数据元素的清空clear函数
a.clear();
a.push_back(4);
a.push_back(5);
a.push_back(6);
b.push_back(a);
//4.元素访问
//方法一 :数组式下标访问
printf("a[0]%d a[1]%d a[2]%d\n",a[0],a[1],a[2]);
//方法二: 迭代器访问(类似指针)
//begin取元素的首地址,end取元素尾地址的下一个地址
vector<int>::iterator it = a.begin();
for(int i = 0;i < 3;i++)
printf("%d",*(it+i));
it = a.begin();
printf("\n");
for(;it != a.end();it++)
printf("%d",*it);
//5.删除尾元素
a.pop_back();
a.push_back(7);
it = a.begin();
printf("\n");
for(;it != a.end();it++)
printf("%d",*it);
//6.长度函数
printf("\n长度%d",a.size());
//7.指定位置插入
a.insert(a.begin()+1,8);
it = a.begin();
printf("\n");
for(;it != a.end();it++)
printf("%d",*it);
//8.erase删除元素
//删除一个元素
a.erase(a.begin()+1);
it = a.begin();
printf("\n");
for(;it != a.end();it++)
printf("%d",*it);
//删除一个区间erase(first,end)即删除[first,end)
a.erase(a.begin()+1,a.begin()+2);
it = a.begin();
printf("\n");
for(;it != a.end();it++)
printf("%d",*it);
}