c++中vector初始化问题,push_back

一.在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

猜你喜欢

转载自blog.csdn.net/gyhjlauy/article/details/89374272