最近写了一题需要使用矩阵来存储树结构,元素只有10W个,但是需要开10W*10W的矩阵来表示关系,明显是开不下的,这里vector<vector<int>>是一个不错的选择,但是在使用的时候回发生一些问题:vector subscript out of range,如下图
这里我是直接定义使用,就报错了
vector<vector<int>>g;
g[2][1]=10;
其实这是 vector<int> 对象g[i] 没有分配空间.你不能这么访问,那么这里介绍一个函数resize,是用来分配空间
vector<vector<int>>g;
g.resize(10);//分配10个空间
g[2].resize(10);
g[2][1]=10;