队列(queue) 可共享内容
只能从一端追加内容,而从另一端获取内容
只有两个方法,enqueue()和dequeue()、getfront()
用list模拟队列 append(), pop(0) 列表[0]
栈(Stack)
从一端追加内容,一端获取内容
方法:push()和pop()、gettop()()尾部
用list模拟队列 append(), pop(-1),列表[-1]
两个栈实现一个队列的功能
首先用一个栈来放数据,然后把这个栈的数据依次放到另一栈去,这样就实现了前面的数据到后面,再输出就可以实现了
两个队列实现一个栈
1.isempty():两个队列都为空则,返回True
2.push(),一个队列空,追加到另一个,两个都为空,追加到1
3、pop,把非空的队列一次追加到另一个队列,把最后一个数删除,返回最后一个数
4、gettop(),跟pop类似,只是最后一个数不删除,保存后再追加到另一个队列
两个栈实现一个队列(push_stack、pop_stack)
1、isempty():两个栈都为空则,返回True
2、enqueue():每次加到push_stack
3、dequeue():如果pop_stack为空,把所有push_stack的所有东西放到pop_stack,如果不为空,直接返回pop_stack.gettop(),若都为空,error,你可能会问,这没有实现每输入一个进push_stack,就写入pop_stack阿,其实是等pop_stack空了以后再一次性输进去,因为先进先出,不影响顺序
4、getfront(),如果pop_stack不为空,返回pop_stack.top,如果pop_stack为空、push_stack不为空,把所有push_stack放到pop_stack,返回pop_stack.top,如果都为空,error
详情见E:\MyDocuments\codes\python\MoneyProjects\QueueAndStack