我正在尝试通过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> >.
答案 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 constructor和std::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);
}
你可以这样试试。