Python队列中的代码是什么?“偷看”?

时间:2016-11-18 02:58:29

标签: python stack queue

下面的python代码使用具有两个堆栈的队列系统。根据我的理解,在“窥视”功能期间 - 我们正在查看列表的顶部并将其返回。

def peek(self):
    #looks at the top of the queue
    if len(self.stack2) > 0:
        top = self.stack2.pop() 
        self.stack2.append(top)
    else:
        #takes items in stack 1 and put into stack 2
        while len(self.stack1) > 1:
            self.stack2.append(self.stack1.pop())
        top = self.stack1.pop() 
        self.stack2.append(top) 
    return top

正如您在第一个if语句条件中所看到的那样,它会执行self.stack2.pop()并将其附加到top。但是,.pop()方法应该删除列表末尾的项目。为什么要将其分配给top?我们不应该使用会删除队列中第一项的self.stack2.pop(0)吗?

0 个答案:

没有答案