Python实现栈和队列的代码
发表于:2024-11-29 作者:热门IT资讯网编辑
编辑最后更新 2024年11月29日,Python如何实现栈和队列?这篇文章运用了实例代码展示,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。栈:# -*- coding:utf-8 -*-class Stack(obj
Python如何实现栈和队列?这篇文章运用了实例代码展示,代码非常详细,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。
栈:
# -*- coding:utf-8 -*-class Stack(object): def __init__(self): self.__list = [] def push(self,item): return self.__list.append(item) def pop(self): return self.__list.pop() def peek(self): """返回栈顶元素""" if self.__list: return self.__list[-1] else: return None def is_empty(self): """判断栈是否为空""" return self.__list == [] def size(self): return len(self.__list)if __name__=="__main__": s=Stack() print(s.is_empty()) s.push(1) s.push(2) s.push(3) s.push(4) print(s.is_empty()) print(s.pop()) print(s.pop()) print(s.pop()) print(s.pop())# True# False# 4# 3# 2# 1
队列:
# -*- coding:utf-8 -*-class Queue(object): """单队列""" def __init__(self): self.__list = [] def inquene(self,item): return self.__list.insert(0,item) def dequeue(self): return self.__list.pop() def is_empty(self): return self.__list == [] def size(self): return len(self.__list)class DQueue(object): """双端队列""" def __init__(self): self.__list = [] def add_front(self,item): return self.__list.insert(0,item) def add_rear(self,item): return self.__list.append(item) def pop_front(self): return self.__list.pop(0) def pop_rear(self): return self.__list.pop( ) def is_empty(self): return self.__list == [] def size(self): return len(self.__list)if __name__ == "__main__": q=Queue() q.inquene(1) q.inquene(2) q.inquene(3) q.inquene(4) q.size() q.is_empty() print(q.dequeue()) print(q.dequeue()) print(q.dequeue()) print(q.dequeue()) d=DQueue() d.add_front(1) d.add_front(2) d.add_rear(3) d.add_rear(4) print(d.pop_rear()) print(d.pop_rear()) print(d.pop_rear()) print(d.pop_rear())# 1# 2# 3# 4# 4# 3# 1# 2
以上就是Python实现栈和队列的具体代码,如果在日常工作遇到这个问题,希望你能通过这篇文章解决问题。如果想了解更多相关内容,欢迎关注行业资讯频道!