首页 > 试题广场 >

在设计快速排序法的非递归算法时,通常利用了一个堆栈来记录待排

[问答题]

在设计快速排序法的非递归算法时,通常利用了一个堆栈来记录待排序区间的首、尾两个端点的位置,而实际上也可以利用其他数据结构(如队列)来代替这个堆栈。请说明其中的理由。


1,栈与队列的不同在于:栈是先进后出,队列是先进先出。
2,要想让队列实现栈的功能,则让队列模拟出先进后出就可以了。
3,使用两个队列q1和q2
'''
数据先进入q1;
除队尾元素外,把数据从q1(q2)送入q2(q1);
反复进行,直到q1和q2为空
'''
发表于 2017-12-02 20:10:57 回复(0)