一.在c++中使用vector时一般不会指定它的容量大小,因为vector在运行时能高效快速地添加元素。通常都是开始的时候创建空的vector对象,在运行时再动态添加元素。vector中push_back添加元素时,是在末尾添加。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> res;
for(int i=0;i<10;i++)
{
res.push_back(i);
cout<<res[i]<<" ";
}
cout<<endl;
vector<int> vec(10);//vector大小为10,并且初始化为0
for(int i=0;i<10;i++)
{
vec.push_back(i);//添加到末尾
cout<<vec[i]<<" ";
}
cout<<endl;
for(int i=0;i<20;i++)
{
vec.push_back(i);//前10个值初始化为0,再push_back的值添加到末尾
cout<<vec[i]<<" ";
}
return 0;
}
results:
/home/yhj/测试程序/数据结构与算法/myleetcode/4/cmake-build-debug/4
0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9
Process finished with exit code 0**
二.一维vector与二维vector比较
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<vector<int>> res;
for(int i=0;i<5;i++)
{
res.push_back({});//申请下一个vector
res[i].push_back(2);
res[i].push_back(3);
cout<<res[i][0]<<res[i][1];
}
cout<<endl;
vector<int> vec;
vec.push_back(5);
cout<<vec[0];
return 0;
}
results:
/home/yhj/测试程序/数据结构与算法/myleetcode/4/cmake-build-debug/4
2323232323
5
Process finished with exit code 0