DS03-栈和队列摘要.ppt

第三章 栈和队列 栈(Stack) 栈的应用 队列(Queue) 队列的应用 定义: 栈的示意图 栈的基本操作 InitStack( ): 初始化,构造一个空栈S ClearStack(S):栈S已经存在,清除栈S中的所有元素 将S置成空栈。 StackEmpty(S):判断栈S是否为空,若为空,则返回 true;否则返回false GetTop(S) : 返回S的栈顶元素,但不移动栈顶指针 也不改变栈顶元素的值 Push(S, x) :在S的顶部插入(亦称压入)元素x;若S栈未满,将x插入栈顶位置,若栈已满,则返回FALSE,表示操作失败,否则返回TRUE。 (入栈操作) Pop(S) : 删除S的栈顶元素并返回其值(出栈操作) 顺序栈的基本操作 顺序栈的基本操作 顺序栈的入栈操作 顺序栈的入栈操作——例如用堆栈存放(A,B,C,D) 顺序栈出栈操作——例如从栈中取出‘B’ 3.2 栈的应用举例 3.3 队 列 队 列 的 实 现 队列的实现方式是本节重点,关键是掌握入队和出队操作。 具体实现依存储结构(链队或顺序队)的不同而不同。 链队列 栈与递归(以后略) 递归与回溯 n皇后问题 在 n 行 n 列的国际象棋棋盘上,若两个皇后位于同一行、同一列、同一对角线上,则称为它们为互相攻击。n皇后问题是指找到这

文档评论(0)

1亿VIP精品文档

相关文档