RubbishBin/maze/include/maze_node.h

72 lines
1.5 KiB
C
Raw Normal View History

2024-10-30 17:23:52 +08:00
//
// Created by ricardo on 2022/10/25.
//
#ifndef MAZE_MAZE_NODE_H
#define MAZE_MAZE_NODE_H
// 全局的节点总数变量
// 虽然全局变量有点不好
extern int node_number;
struct maze_connect_node
{
// 连接的节点数组索引
int index;
struct maze_connect_node* next;
};
typedef struct maze_connect_node maze_connect_node_t;
typedef struct maze_connect_node* maze_connect_node_p;
struct maze_node
{
// 迷宫中结点的编号
int id;
// 与这个节点相连的节点链表
maze_connect_node_p connect_maze_nodes;
// 当前正在遍历的节点
maze_connect_node_p now_node;
};
// 迷宫节点结构体
typedef struct maze_node maze_node_t;
// 迷宫节点结构体指针
typedef struct maze_node* maze_node_p;
/**
*
* @param num
* @return
*/
maze_node_p create_maze_node_array(int num);
/**
*
* @param node
* @param target
* @return
*/
bool maze_node_add_connect_node(maze_node_t& node, int target);
/**
*
* @param filename
* @return
*/
maze_node_p read_maze_file(char* filename);
/**
*
* @param node_array
*/
void print_maze(maze_node_p node_array);
/**
*
* @param node_array
*/
void maze_node_free(maze_node_p& node_array);
#endif //MAZE_MAZE_NODE_H