我有一个图,它由一个二维数组表示:
int graph[9][9] = { {INFINITY, 4, INFINITY, INFINITY, INFINITY, INFINITY, INFINITY, 8, INFINITY},
{4, INFINITY, 8, INFINITY, INFINITY, INFINITY, INFINITY, 11, INFINITY},
{INFINITY, 8, INFINITY, 7, INFINITY, 4, INFINITY, INFINITY, 2},
{INFINITY, INFINITY, 7, INFINITY, 9, 14, INFINITY, INFINITY, INFINITY},
{INFINITY, INFINITY, INFINITY, 9, INFINITY, 10, INFINITY, INFINITY, INFINITY},
{INFINITY, INFINITY, 4, 14, 10, INFINITY, 2, INFINITY, INFINITY},
{INFINITY, INFINITY, INFINITY, INFINITY, INFINITY, 2, INFINITY, 1, 6},
{8, 11, INFINITY, INFINITY, INFINITY, INFINITY, 1, INFINITY, 7},
{INFINITY, INFINITY, 2, INFINITY, INFINITY, INFINITY, 6, 7, INFINITY} };
此图像这样作为 int *指针传递到我的班级
dijkstra::dijkstra(int* grapharray, int number_nodes)
{
this->grapharray = grapharray;
this->number_nodes = number_nodes;
}
为了访问数组,我做了一个变量
int** graph=&grapharray;
允许我访问
graph[0][2]
graph[0][5]
依此类推,但
graph[1][7]
如何在两个维度上访问图形?