队列的定义表示实现..pptVIP

  • 18
  • 0
  • 约7.46千字
  • 约 34页
  • 2017-01-02 发布于重庆
  • 举报
* 例3:编写一个算法,利用栈和队列的基本运算将指定队列中的内容进行逆转。 分析:假设为循环队列。建立一个临时栈temps,将指定队列Q中的所有元素出队并入栈到temps中,这样队列Q为空,再将temps中的所有元素出栈并入队到Q队中,这样Q队列中的内容发生了逆转。算法如下: void reverse(SqQueue Q) { QElemType x; SqStack temps; InitStack(temps); * while( ! QueueEmpty (Q) ) //初始化temps栈 { DeQueue (Q, x); Push (temps, x); } While( ! StackEmpty (temps) ) { Pop (temps, x); EnQueue (Q, x); } } * 本章小结 线性表、栈、队的异同点: 相同点:逻辑结构相同,都是线性的;都可以用顺序存储或链式存储;栈和队列是两种特殊的线性表,即受限的线性表(只是对插入、删除运算加以限制)。 ① 运算规则不同: 线性表可任意存取; 栈是后进先出表LIFO; 队列是先进先出表FIFO。 ② 用途不同,线性表比较通用;堆栈用于函数调用、

文档评论(0)

1亿VIP精品文档

相关文档