STL——vector容器

目录

一、基本概念

1.功能

2.动态扩展

二、部分操作

1.构造函数

2.常用函数

3.创建二维数组 


一、基本概念

1.功能

·vector数据结构与数组非常相似,也称为单端数组,但是可以动态扩展。

2.动态扩展

·并不是在原空间之后继续接新空间,而是找更大的内存空间,将原数据拷贝至新空间,释放原空间

·vector容器的迭代器支持随机访问

二、部分操作

1.构造函数

头文件 #include;

vector v; T是数据类型 eg:int ,long ... v是名称

vector v;                 //采用模板实现类实现,默认构造函数
vector(v.begin(), v.end());  //将v[begin(),end())区间(前闭后开)中的元素拷贝给本身
vector(n, elem);             //构造函数将n个elem拷贝给本身
vector(const vector &vec);   //拷贝构造函数

2.常用函数

v.push_back()//在尾部添加数据

v.pop_back()//弹出尾部数据

v.at()//得到编号位置的数据

v.begin()//得到数组头指针

v.end()//数组最后一个单元+1的指针

v.clear()//清除数组

v.size()//元素个数

v.empty()//是否为空

v.insert(v.begin()+i,a)//在第i个元素后面插入a

v.erase(v.begin()+2)//删除第三个元素,即v[2]

v.erase(v.begin()+i,v.end()+j)//删除区间[i,j-1]

v.front()//返回容器中第一个元素

v.back()//返回容器中最后一个元素

3.创建二维数组 

vector>array;     //定义二维数组
vectorv; 
int temp=0;

//输入二维数组
for(int i = 0; i < n; i++)
{
    v.clear(); //子数组返回时要清除
    for(int j = 0; j < n; j++)
    {
        cin>>temp;
        v.push_back(temp);
    }
    array.push_back(v);
}

//打印输出二维数组
for(int i = 0; i < n; i++)
{
    for(int j = 0; j < m; j++)
    {
        cout<

你可能感兴趣的:(容器,c++,数据结构)