棧的python實現
class stack:
def __init__(self):
self.items=
def is_empty(self):
return self.items==
def push(self,item):
def pop(self):
self.items.pop()
def peek(self):
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
if __name__=='__main__':
s=stack()
s.push('hello')
s.push('world')
s.push('itcast')
print(s.size())
print(s.peek())
s.pop()
print(s.peek())
s.pop()
s.pop()
3
itcast
world
佇列的實現
class queue:
def __init__(self):
self.items=
def is_empty(self):
return self.items==
def enqueue(self,item):
self.items.insert(0,item)
def dequeue(self):
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())
q.dequeue()
q.dequeue()
q.dequeue()
print(q.size())
3
0
雙端佇列
雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端佇列可以在佇列任意一端入隊和出隊。
class deque:
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())
deque.remove_front()
deque.remove_front()
deque.remove_rear()
deque.remove_rear()
print(deque.size())
4
0
第7天 Python 資料結構 序列
by 潮汐 python 中的資料結構是通過某種方式組織在一起的資料元素的集合,這些資料元素可以是數字 字元 甚至可以是其他資料結構 在 python 中,最基本的資料結構是序列 列表和元組 序列中的每個元素都有乙個序號 元素的具體位置 這個序號叫索引,索引下標從 0 開始,以此類推.本文著重介紹 ...
(資料結構python版)第4章遞迴
階乘函式 n 1 n times n 1 times n 2 3 times2 times1 end n n 0 n geq1 end format total path return total乙個糟糕的遞迴顯示導致嚴重的效率低下 def bad dibonacci n if n 1 return...
Python心得第4天
上週說到關鍵字函式,今天接著說函式 5 收集引數 def 函式名 引數名 函式功能 函式功能 呼叫函式 函式名 實參,實參.沒有數量限制特徵 1.非關鍵字收集引數,在形參前新增乙個 即可 2.非關鍵字收集引數收集實參組成乙個元組 3.非關鍵字收集引數,僅收集沒有任何形參接受的非關鍵字實參 4.非關鍵...