python資料結構第4天

2021-09-28 14:31:31 字數 2102 閱讀 5744

棧的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.非關鍵...