如何指定向量的大小&lt; list <int>&gt;?

时间:2016-06-14 04:12:52

标签: c++ list vector stl

我正在尝试通过vector < list <int> >创建邻接列表,但我不知道如何指定list<int>的大小;

我想在声明它们时指定vector< list<int> >list<int>的大小。

查看我的代码;

#include<iostream>
#include<vector>
#include<list>

using namespace std;
...

vector< list<int> > adj_list<(number_city);
// here just specified the size of vector< list<int> >. 

2 个答案:

答案 0 :(得分:1)

如果要在初始化时指定vector的大小,则

vector< list<int> > adj_list(number_city); // construct vector with size = number_city, all the elements are empty (size == 0)

如果您想指定vector的大小以及所有元素&#39;大小,然后

vector< list<int> > adj_list(number_city, list<int>(some_number)); // construct vector with size = number_city and all the elements are lists with some_number elements default constructed

请参阅std::vector's third constructorstd::list's third constructor

答案 1 :(得分:0)

vector< list<int> > adj_list<(number_city);
for(vector< list<int> >::size_type i = 0; i < number_city; i++)
{
    adj_list.at(i).resize(some_size);
}

你可以这样试试。