1. 程式人生 > >棧 佇列 和 雙向佇列

棧 佇列 和 雙向佇列

# 棧
# 特點: 先進後出
# class StackFullException(Exception):
#     pass
#
# class StackEmptyException(Exception):
#     pass
#
# class Stack:
#
#     def __init__(self, size):
#         self.size = size
#         self.lst = [] # 存放資料的列表
#         self.top = 0 # 棧頂指標
#
#     # 入棧
#     def push(self, el):
#         if self.top >= self.size:
#             raise StackFullException("your stack is full!!!!!")
#         self.lst.insert(self.top, el) # 放元素
#         self.top += 1 # 棧頂指標向上移動一下
#
#     # 出棧
#     def pop(self):
#         if self.top == 0:
#             raise StackEmptyException("your stack is empty!!!!!")
#         self.top-=1
#         el = self.lst[self.top]
#         return el
#
# s = Stack(6)
# s.push("寶寶")
# s.push("我還")
# s.push("記得")
# s.push("你")
# s.push("剛剛")
# s.push("說的話")
# print(s.pop())
# print(s.pop())
# print(s.pop())
# print(s.pop())
# print(s.pop())
# print(s.pop())
# import queue
# q = queue.Queue()
# q.put("李嘉誠1")
# q.put("李嘉誠2")
# q.put("李嘉誠3")
# q.put("李嘉誠4")
# q.put("李嘉誠5")
#
# print(q.get())
# print(q.get())
# print(q.get())
# print(q.get())
# print(q.get())


# from collections import deque
#
# d = deque() # 建立雙向佇列
# d.append("寶寶") #  在右側新增
# d.append("no")
# d.append("way")
# d.append("哈哈")
# d.appendleft("娃哈哈") # 在左邊新增
# d.appendleft("爽歪歪")
# d.appendleft("優酸乳")
#
#
# print(d.pop()) # 從右邊拿資料
# print(d.pop()) # 從右邊拿資料
# print(d.pop()) # 從右邊拿資料
# print(d.pop()) # 從右邊拿資料
# print(d.popleft()) # 從左邊拿資料
# print(d.popleft()) # 從左邊拿資料
# print(d.popleft()) # 從左邊拿資料
#
#