利用python內建的list來實現棧
class stack(object):
"""棧"""
def __init__(self):
self.items =
def is_empty(self):
"""判斷是否為空"""
return self.items ==
def push(self, item):
"""加入元素"""
def pop(self):
"""彈出元素"""
return self.items.pop()
def peek(self):
"""返回棧頂元素"""
return self.items[len(self.items)-1]
def size(self):
"""返回棧的大小"""
return len(self.items)
if __name__ == "__main__":
stack = stack()
stack.push("hello")
stack.push("world")
stack.push("itcast")
print stack.size()
print stack.peek()
print stack.pop()
print stack.pop()
print stack.pop()
利用python內建的list來實現佇列
class queue(object):
"""佇列"""
def __init__(self):
self.items =
def is_empty(self):
return self.items ==
def enqueue(self, item):
"""進佇列"""
self.items.insert(0,item)
def dequeue(self):
"""出佇列"""
return self.items.pop()
def size(self):
"""返回大小"""
return len(self.items)
if __name__ == "__main__":
q = queue()
q.enqueue("hello")
q.enqueue("world")
q.enqueue("itcast")
print q.size()
print q.dequeue()
print q.dequeue()
print q.dequeue()
雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端佇列可以在佇列任意一端入隊和出隊
class deque(object):
"""雙端佇列"""
def __init__(self):
self.items =
def is_empty(self):
"""判斷佇列是否為空"""
return self.items ==
def add_front(self, item):
"""在隊頭新增元素"""
self.items.insert(0,item)
def add_rear(self, item):
"""在隊尾新增元素"""
def remove_front(self):
"""從隊頭刪除元素"""
return self.items.pop(0)
def remove_rear(self):
"""從隊尾刪除元素"""
return self.items.pop()
def size(self):
"""返回佇列大小"""
return len(self.items)
if __name__ == "__main__":
deque = deque()
deque.add_front(1)
deque.add_front(2)
deque.add_rear(3)
deque.add_rear(4)
print deque.size()
print deque.remove_front()
print deque.remove_front()
print deque.remove_rear()
print deque.remove_rear()
棧與佇列 python實現
棧 class stack object def init self self.items def enstack self,item def destack self self.items.pop 1 def isempty self return self.items def clear sel...
Python 棧 佇列的實現
在python中,列表既可以作為棧使用,又可以作為佇列使用。棧 後進先出 stack 1,2,3 入棧,以列表尾部為棧頂 print stack.pop 出棧 4 print stack 1,2,3 佇列 先進先出 from collections import deque list 1,2,3 q...
棧 佇列的Python實現
棧和佇列是特殊的線性表,只不過我們認為的規定它的操作方法。我們把先入後出的資料結構稱為棧,先進先出的資料結構成為佇列。python實現棧的一些基本操作的 class stack object 棧 def init self self.items defis empty self 判斷是否為空 ret...