第三章栈和队列.ppt

第三章栈和队列.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)

1亿VIP精品文档

相关文档