为什么我不能将元素插入数组中的列表?

Why can't I insert element into list inside an array?

本文关键字:列表 数组 插入 不能 元素 为什么      更新时间:2023-10-16

为什么下面的代码不起作用?它说"矢量下标超出范围"。另外,有没有办法使用索引从列表中获取元素?

#include <iostream>
#include <vector>
#include <list>
using namespace std;
int main()
{
    vector<list<int> > adjList;
    adjList[0].push_back(2);
    cout << adjList[0].front();
}

adjList[0]指的是adjList内部的第一个std::list。你有一个列表的空向量(vector<list<int> > adjList;(,这意味着尝试访问第一个元素会导致越界访问。

首先,您应该向向量添加一个列表:

vector<list<int> > adjList;
adjList.emplace_back(); // adds an empty list
adjList[0].push_back(2);
cout << adjList[0].front();