头文件

#include <vector>

初始化

//vector<类型> 名字;
vector<int> a {1,2,3};
vector<int> b (4,0};//4个0
vector <int> c(b);

//二维
vector<int>num[5];//定义可变长二维数组
vector<vectot<int> >num;//定义一个行和列均可变的二维数组

//元素访问
//方式一:单个访问,假设num数组中已经有了5个元素
cout << num[4] << "\n";  //输出第五个数据
//一二维可变数组和普通数组的访问方法一样

//方式二:遍历
for(int i = 0; i < num.size(); i++)
    cout << num[i] << " ";//下标范围在[0,num.size()),前开后闭

//方式三:智能指针
for(auto i : num)
    cout << i << " ";

//迭代器访问
vector<int>::iterator it;   
//相当于声明了一个迭代器类型的变量it
//通俗来说就是声明了一个指针变量

//方式一:
vector<int>::iterator it = vi.begin(); 
for(int i = 0; i < 5; i++)
    cout << *(it + i) << " ";
cout << "\n";

//方式二:
vector<int>::iterator it;
for(it = vi.begin(); it != vi.end();it ++)
    cout << *it << " ";
//vi.end()指向尾元素地址的下一个地址

方法函数
知道了如何定义初始化可变数组,下面就需要知道如何添加,删除,修改数据。

相关方法函数如下:

c指定为数组名称

代码 含义
c.front() 返回第一个数据
c.back() 返回最后一个数据
c.pop_back() 删除最后一个数据
c.push_back(element) 在尾部加一个数据
c.size() 返回实际数据个数(unsigned类型)
c.clear() 清除元素个数
c.resize(n,v) 改变数组大小为n,n个空间数值赋为v,如果没有默认赋值为0
c.insert(it,x) 向任意迭代器it插入一个元素x
例:c.insert(c.begin()+2,-1) 将-1插入c[2]的位置
c.erase(first,last) 删除[first,last)的所有元素
c.begin() 返回首元素的迭代器(通俗来说就是地址)
c.end() 返回最后一个元素后一个位置的迭代器(地址)
c.empty() 判断是否为空,为空返回真,反之返回假
注意: end()返回的是最后一个元素的后一个位置的地址,不是最后一个元素的地址,所有容器均是如此

排序

使用sort排序要: sort(c.begin(),c.end());

//降序
int cmp(const int &a,const int &b) {
//可以理解为前一个元素比后一个大就是降序
  reutrn a > b;
}

原文章:https://blog.csdn.net/qq_50285142/article/details/122303529

Last modification:April 6, 2023
如果觉得我的文章对你有用,请随意赞赏