Stack
7876 ワード
1.Stackメソッド
size()
:現在のスタックのデータ数を取得isEmpty()
:現在のスタックが空(size()=0?push(x)
:スタックにデータ要素xを追加pop()
:スタックに最新に格納されているデータ要素を削除(すなわち、戻る)peek()
:スタックに最新に格納されているデータ要素を参照(戻す)するが、削除しない2.Python listで実施
class ArrayStack:
def __init__(self):
self.data = []
def __repr__(self):
return self.data.__repr__()
def size(self):
return len(self.data)
def isEmpty(self):
return self.size() == 0
def push(self, item):
self.data.append(item)
def pop(self):
return self.data.pop()
def peek(self):
return self.data[-1]
3.Doubly Linked Listで実施
from doubly_linked_list import*
class LinkedListStack:
def __init__(self):
self.data = DoublyLinkedList()
def __repr__(self):
return self.data.__repr__()
def size(self):
return len(self.data)
def isEmpty(self):
return self.size() == 0
def push(self, item):
node = Node(item)
self.data.insertAt(self.size(), node)
def pop(self):
return self.data.popAt(self.size()-1)
def peek(self):
return self.data[self.size()-1].data
ソースコード:stack.pyReference
この問題について(Stack), 我々は、より多くの情報をここで見つけました https://velog.io/@legendre13/Stackテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol