目录
一.原理
1.遍历地图直到终点
2.通过终点反推出最短路径
1.设计数据结构
//下面为顺序栈
struct Box {
int i, j;
int pre;
};
struct QuType {
Box data[MaxQueue];
int front, rear;
};
//初始化队列
void IninQueue(QuType*& q);
//判断队列是否为空
bool QueueEmpty(QuType* q);
//进队列
bool PushQueue(QuType*& q, Box x);
//出队列
bool PopQueue(QuType*& q, Box& x);
//销毁
void DestroyQueue(QuType*& q);
2.设计函数实现
void IninQueue(QuType*& q){
q = new QuType;
q->front = q->rear = 0;
}
//判断队列是否为空
bool QueueEmpty(QuType* q) {
return (q->rear == 0);
}
//进队列
bool PushQueue(QuType*& q,Box x) {
if (q->rear ==MaxQueue-1) {
return false;