[データ構造]スタック
スタック
スタックの概念
データ構造
LIFO:Last In First Out方式.
スタック内の演算
スタックの実装
Pythonでは、スタックはリストまたは接続リストとして実装されます.
class Stack:
def __init__(self) :
#자료를 저장할 공간(배열) myStack을 만듭니다.
self.myStack = []
def push(self, n) :
#stack에 정수 n을 넣는다.
self.myStack.append(n)
def pop(self) :
#stack에서 가장 위에 있는 정수를 제거하고, stack에 아무 원소가 없다면 아무 일도 하지 않는다.
if self.empty() == 1:
return
else:
self.myStack.pop()
def size(self) :
#stack에 들어 있는 정수의 개수를 return 한다.
return len(self.myStack)
def empty(self) :
#stack이 비어있다면 1, 아니면 0을 return 합니다.
if self.size() == 0:
return 1
else:
return 0
def top(self) :
#stack의 가장 위에 있는 정수를 return 하고, stack에 들어있는 값이 없을 경우에는 -1을 return 한다.
if self.empty() == 1:
return -1
else:
return self.myStack[-1]
スタックの例
コールスタック
コンピュータプログラムでは、現在実行されている関数(サブルーチン)を格納する役割を果たします.
def a(v) :
n = b(v)
return n
def b(v) :
m = c(v) * 2
return m
def c(v) :
return v ** 2
print(a(5)) #50출력
returnを実行すると、Stackで実行した関数がポップアップされます.写真ソース
Reference
この問題について([データ構造]スタック), 我々は、より多くの情報をここで見つけました https://velog.io/@altjsvnf/자료구조-스택Stackテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol