C语言实现迷宫随机生成(广度优先搜索算法)

这是一个简单的迷宫生成和求解程序。

首先,它生成一个随机的迷宫,然后使用广度优先搜索算法找到从起点到终点的最短路径。

最后,它输出迷宫和最短路径的长度。

请注意,这里的迷宫只包含两种类型的格子:0 表示空格,1 表示障碍物。

#include 
#include 
#include 

#define ROWS 5
#define COLS 5

typedef struct {
    int row;
    int col;
    int steps;
} position;

typedef struct {
    position *arr;
    int front;
    int rear;
} queue;

int is_out_of_bounds(int row, int col) {
    return row < 0 || row >= ROWS || col < 0 || col >= COLS;
}

int is_obstacle(int maze[ROWS][COLS], int row, int col) {
    return maze[row][col] == 1;
}

queue* init_queue(int capacity) {
    queue *q = (queue*) malloc(sizeof(queue));
    q->arr = (position*) malloc(sizeof(position) * capacity);
    q->front = 0;
    q->rear = -1;
    return q;
}

int is_queue_empty(queue *q) {
    return q->rear < q->front;
}

int is_

你可能感兴趣的:(【HOT】技术杂谈,c语言,c++,算法)