0

学习数据结构,遇到过graph数据结构,觉得用代码表达如下图很符合我的需求:迷宫


本质上,我打算创建一个可旅行的地图,每个“位置”都是图形结构的一个节点,发出命令 [North, East, West, South] 允许玩家穿越每个节点。红色节点代表玩家起始位置。我的问题在于图表本身,因为:

我不知道如何将基本方向的概念引入,例如,一个只包含节点而不知道其基本位置的邻接列表,例如,节点 [0] 可以连接到 [0]->[ 4]->[8]->[3],但是当我发出north命令时,我无法知道[4]是否是我想要的结果。

解决这些问题的一种简单方法是通过以下链接列表:

struct Area {
        int code;
        string title;
        Area *north;
        Area *east;
        Area *south;
        Area *west;
    };
    Area *Lookup;

但是,每个节点都有手动定义的相邻节点,因为这是一个数据结构类(hashmap/map/vectors 不可用),我希望通过 adjacencylist 方法实现它(如果可能的话)。这是否可能,如果可以,将如何实施?

邻接矩阵会是更好的选择吗?

4

0 回答 0