Stack

This ordering principle is sometimes called LIFO, last-in first-out. It provides an ordering based on length of time in the collection. Newer items are near the top, while older items are near the base.

The Reversal Property of Stacks

The Stack Abstract Data Type
The stack abstract data type is defined by the following structure and operations. A stack is structured, as described above, as an ordered collection of items where items are added to and removed from the end called the “top.” Stacks are ordered LIFO. The stack operations are given below.

Stack() creates a new stack that is empty. It needs no parameters and returns an empty stack.

push(item) adds a new item to the top of the stack. It needs the item and returns nothing.

pop() removes the top item from the stack. It needs no parameters and returns the item. The stack is modified.

peek() returns the top item from the stack but does not remove it. It needs no parameters. The stack is not modified.

isEmpty() tests to see whether the stack is empty. It needs no parameters and returns a boolean value.

size() returns the number of items on the stack. It needs no parameters and returns an integer.

Implementing a Stack in Python

class Stack:#建立一個棧類
    #內部的方法是類的屬性
     def __init__(self):#初始化,是一個LIST
         self.items = []

     def isEmpty(self):#是否爲空
         return self.items == []

     def push(self, item):#LIST里加東西
         self.items.append(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)


s=Stack()

print(s.isEmpty())
s.push(4)
print(s.peek())
s.push('dog')
print(s.peek())
s.push(True)
print(s.peek())
print(s.size())
# print(s.isEmpty())
s.push(8.4)
print(s.peek())
print(s.pop())
# print(s.pop())
print(s.size())
發佈了5 篇原創文章 · 獲贊 3 · 訪問量 9527
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章