摘要:
// func3-3.cpp、algo3-12.cpp和algo3-13.cpp用到的函数及变量等#include"c1.h"typedef struct // 定义ElemType为结构体类型{ int OccurTime; // 事件发生时刻 int NType; // 事件类型,Qu表示到达事... 阅读全文
摘要:
// 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... 阅读全文
摘要:
// func3-2.cpp algo3-6.cpp和algo3-7.cpp要调用的函数char Precede(SElemType t1,SElemType t2){ // 根据教科书表3.1,判断t1,t2两符号的优先关系('#'用'\n'代替) char f; switch(t2) { cas... 阅读全文
摘要:
// func3-1.cpp、algo3-5.cpp、algo3-9.cpp和algo3-11.cpp要调用的函数、结构和全局变量struct PosType // 迷宫坐标位置类型(见图3.9){ int x; // 行值 int y; // 列值};#define MAXLENGTH 25 //... 阅读全文
摘要:
// algo3-1.cpp 调用算法3.1的程序#define N 8 // 定义待转换的进制N(二进制~九进制)typedef int SElemType; // 定义栈元素类型为整型#include"c1.h"#include"c3-1.h" // 采用顺序栈#include"bo3-1.cp... 阅读全文