在使用非递归实现快速排序时,通常采用栈存储待排序区间的两个端点,能否用队列来实现这个栈?为什么?
时间: 2023-04-15 08:03:15 浏览: 289
用两个栈实现一个队列的功能?要求给出算法和思路
5星 · 资源好评率100%
可以用队列来实现栈,但是不太方便。因为快速排序需要先处理左边的子区间,再处理右边的子区间,而队列是先进先出的结构,无法保证先处理左边的子区间。而栈是后进先出的结构,可以保证先处理左边的子区间。因此,使用栈存储待排序区间的两个端点更为方便和合理。
阅读全文