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实现栈和队列的具体代码,如果在日常工作遇到这个问题,希望你能通过这篇文章解决问题。如果想了解更多相关内容,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。