【STL】vector数组(一维二维三维)初始化方法

365bet官网登录 📅 2026-06-14 00:34:58 👤 admin 👁️ 9543 👑 633
【STL】vector数组(一维二维三维)初始化方法

学习资料

1.【C++】详解vector二维数组的全部操作

一维

vector res(n, 0);//大小为n的数组,初始值全部设为0

Leetcode中常用,在类内定义外部变量,在函数内初始化

class Solution {

public:

vector> res;

vector path;

vector col, dg, udg;

int n;

vector> solveNQueens(int _n) {

n = _n;

col = vector(n);

dg = udg = vector(n * 2);

path = vector(n, string(n, '.'));//初始化为'.'

}

};

二维

初始化一个r * c的矩阵,所有值为0

vector> newOne(r, vector(c, 0));

同理,初始化n * m的矩阵

vector> one(n, vector(m));

三维

一般动态规划可能会用到

int x = 2, y = 3, z = 4;

vector>> vec3d(x, vector>(y, vector(z, 0)));

二维数组按第二维排序

写法一:

vector> courses;

sort(courses.begin(), courses.end(), [](vector &a, vector &b) {

return a[1] < b[1];

});

写法二:

bool cmp1(const vector &a, const vector &b)

{

return a[1] < b[1];

}

sort(courses.begin(), courses.end(), cmp1);

皇家推荐

【港足】中華台北世界排名再創新高 連升8位超越港隊
春日军费注入 领取超值道具
剪映电脑版使用剪同款功能的方法教程
德国教士啤酒笔记
大便扁的是怎么回事
篓子的意思