第三章栈和队列.ppt
3.1 栈 问题的递归描述(定义) 递归定义包括两项 基本项(终止项):描述递归终止时 问题的求解; 递归项:将问题分解为与原问题性质 相同,但规模较小的问题; 如阶乘函数: n!= 1* 2* 3* 4 * (n-1)* n n!递归定义 n!= 1 当 n=1 时 n!= n (n-1)! 当n 1 时 解决方案---循环队列 基本思想:把队列设想成环形, 让Q.base[0]接在Q.base[M-1]之后; 实现:利用“模”运算实现指针变化 入队: Q.rear=(Q. rear+1)%M; 出队: Q.front=(Q.front+1)%M; 队满、队空判定条件 typedef struct { // 链队列类型 QueuePtr front; // 队头指针 QueuePtr rear; // 队尾指针 } LinkQueue; typedef struct QNode {// 结点类型 ElemType data; struct QNode *next; } QNode, *QueuePtr; 链队列的有关操作 空队 Q.front Q.rear ∧ X Q.front ∧ Q.rear X入队 Y Q.front ∧ Q.
原创力文档

文档评论(0)