摘要:
// algo3-11.cpp 利用非循环顺序队列采用广度搜索法求解迷宫问题(一条路径)#include"c1.h"#include"func3-1.cpp"#define D 8 // 移动方向数,只能取4和8。(8个,可斜行;4个,只可直走)typedef struct // 定义队列元素和栈元... 阅读全文
摘要:
// c3-3.h 队列的顺序存储结构(循环队列)(见图3.31)#define MAX_QSIZE 5 // 最大队列长度+1struct SqQueue{ QElemType *base; // 初始化的动态分配存储空间 int front; // 头指针,若队列不空,指向队列头元素 int r... 阅读全文
摘要:
// c3-4.h 队列的顺序存储结构(出队元素时不移动元素,只改变队头元素的位置)#define QUEUE_INIT_SIZE 10 // 队列存储空间的初始分配量#define QUEUE_INCREMENT 2 // 队列存储空间的分配增量struct SqQueue2//(见图3.25){... 阅读全文
摘要:
// c3-5.h 队列的顺序存储结构(非循环队列,队列头元素在[0]单元)#define QUEUE_INIT_SIZE 10 // 队列存储空间的初始分配量#define QUEUE_INCREMENT 2 // 队列存储空间的分配增量struct SqQueue1(见图3.19){ QElem... 阅读全文
摘要:
// c3-2.h 单链队列--队列的链式存储结构typedef struct QNode // (见图3.12){ QElemType data; QNode *next;}*QueuePtr;struct LinkQueue // (见图3.13){ QueuePtr front,rear; /... 阅读全文
摘要:
函数中有直接或间接地调用自身函数的语句,这样的函数称为递归函数。递归函数用得好,可简化编程工作。但函数自己调用自己,有可能造成死循环。为了避免死循环,要做到两点:(1) 降阶。递归函数虽然调用自身,但并不是简单地重复。它的实参值每次是不一样的。一般逐渐减小,称为降阶。如教科书式(33)的Acker... 阅读全文