摘要:
队列的操作主要有:入队,出队,返回队列长度,返回队首元素,判断队列是否为空。 若用两个栈来实现,可以另其中一个栈inStack专门处理入队工作,另一个栈outStack专门处理出队工作。对于入队而言,可以直接把元素加入到inStack中,复杂度为O(1);而对于出队需要做些处理,因为队列是先入先出的,而栈是先入后出,所以输出应该反序。比如inStack接收到的元素顺序为1, 2, 3,栈顶元素是3,但出队希望让1先出。解决方法是把inStack里的元素放到outStack中,这样outStack接收到的元素顺序就是3, 2, 1了,栈顶元素就是我们想要的1,时间复杂度为O(N)。更具体地,入. 阅读全文
posted @ 2012-08-16 16:33
Trony
阅读(1542)
评论(0)
推荐(0)
浙公网安备 33010602011771号