vector(不定长数组)
在C语言中,数组定义必须给定长度,但是有的时候太浪费空间,可以利用STL中vector函数来解决这个问题。
1 基本操作
(1)头文件#include<vector>
(2)创建vector对象,vector<int> vec;
(3)尾部插入数字:vec.push_back(a);
尾部删除数字:vec.pop_back(a);
(4)使用下标访问元素,cout<<vec[0]<<endl; 记住下标是从0开始的。
(5)插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;
(6)删除元素: vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
(7)向量大小:vec.size();
(8)清空:vec.clear();
(9)初始化:memset(vec,0,sizeof(vec));
(10)判空:vec.empyt(); 空则返回1,不空则返回0
vector<int>a就是一个类似于int a[]的整数数组,只不过他的长度不确定,可以用a.size()读取他的长度。
而vector<int>a[max]就是一个二维数组,只是第一维的大小是固定的(不超过max),二维的大小就不固定了,
有时候n太大了,如果直接建立二维数组a[n][n],这样的二维数组绝对超出内存,就需要用到vector不定长的特性。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-10 10:18:17