问题描述:
栈中元素无序,借助队列将栈中元素排序
解题思路:
1.初始化三个队列,分别为q1、q2、q3
2.读取栈顶元素,并作如下操作,直到栈空,最后结果保存在q3中。
(1)如果q1队尾元素小于等于栈顶元素,则弹出栈顶元素并将其存入q1队列中,并读取栈顶元素。
(2)如果q1队尾元素大于栈顶元素,则比较q2队尾元素和栈顶元素,若q2队尾元素小于等于栈顶元素,则弹出栈顶元素,并将栈顶元素存入q2队列中,并读取栈顶元素。
(3)如果q2队尾元素大于栈顶元素,则对各自有序的队列1和队列2中的元素进行排序,结果存入队列q3中,此时,q1、q2空,然后q1和q3进行交换,并读取栈顶元素。
无标签
发布日期:
2020-05-06
文章字数:
233
阅读时长:
1 分
本博客所有文章除特別声明外,均采用
CC BY 4.0
许可协议。转载请注明来源
irenhongyan
!