我試圖創建一個鄰接列表來存儲圖形。創建該列表時,我遇到了一些問題。鄰接列表C++
class Weighted_graph {
private:
std::vector <std::vector<std::pair<double, int>> > adjacencyList;
...
Weighted_graph::Weighted_graph(int n) {
std::vector <std::vector<std::pair<double, int>> > adjacencyList(n);
for (int i = 0; i < n; i++) {
std::vector<std::pair<double, int>> row; // Create an empty row
adjacencyList.push_back(row);
}
...
}
這是我如何創建列表。每當我嘗試列表訪問任何我得到這個錯誤:
Debug Assertion Failed!
Expression: vector subscript out of range
發生這種情況時,我嘗試做任何事情與lsit,例如,美其名曰:
bool Weighted_graph::insert_edge(int i, int j, double d) {
if (!adjacencyList[i].empty()) {
或
bool Weighted_graph::insert_edge(int i, int j, double d) {
std::cout << adjacencyList[i].front().second
我在創建列表錯誤嗎?
不確定您'的std ::矢量<性病::矢量<性病::對>>鄰接表;'的'尺寸()'和'I
2015-04-04 18:09:51