영어사전에서 스택은 다른 물건 위에 물건을 얹는다는 뜻입니다. 이 데이터 구조에서 메모리가 할당되는 방식은 동일합니다. 이는 주방에 접시를 쌓아두는 것과 유사한 방식으로 데이터 요소를 저장합니다. 따라서 연산을 허용하는 스택 데이터의 끝 부분을 스택의 맨 위라고 부를 수 있습니다. 요소는 스택의 맨 위에 추가되거나 스택에서 간단히 제거될 수 있습니다.
스택의 맨 위에서만 제거할 수 있으므로 스택에서는 순서의 마지막 요소가 먼저 나타납니다. 이 기능을 LIFO(후입선출) 기능이라고 합니다. 요소를 추가하고 제거하는 작업을 PUSH 및 POP이라고 합니다. 아래 프로그램에서는 이를 추가 및 제거 기능으로 구현합니다. 먼저 빈 목록을 선언하고 Append() 및 Pop() 메서드를 사용하여 데이터 요소를 추가 및 제거합니다.
스택에 푸시
class Stack: def __init__(self): self.stack = [] def add(self, dataval):# Use list append method to add element if dataval not in self.stack: self.stack.append(dataval) return True else: return False# Use peek to look at the top of the stack def peek(self): return self.stack[0]AStack = Stack()AStack.add("Mon")AStack.add("Tue")AStack.peek()print(AStack.peek())AStack.add("Wed")AStack.add("Thu")print(AStack.peek())Python
위 예제 코드를 실행하고 다음 결과를 얻습니다. -
Mon MonShell
관련 권장 사항: "python 비디오 튜토리얼"
스택 제거
에서 데이터 요소만 제거할 수 있습니다. 이 기능을 수행할 수 있는 Python 프로그램인 stack 은 아래에 구현되어 있습니다. 다음 프로그램의 제거 함수는 최상위 요소를 반환합니다. 먼저 스택의 크기를 계산하여 최상위 요소를 확인한 다음 내장 pop() 메서드를 사용하여 최상위 요소를 찾습니다. 다음 코드 구현을 참조하세요
class Stack: def __init__(self): self.stack = [] def add(self, dataval):# Use list append method to add element if dataval not in self.stack: self.stack.append(dataval) return True else: return False# Use list pop method to remove element def remove(self): if len(self.stack) <= 0: return ("No element in the Stack") else: return self.stack.pop()AStack = Stack()AStack.add("Mon")AStack.add("Tue")print(AStack.remove())AStack.add("Wed")AStack.add("Thu")print(AStack.remove())Python
위 예제 코드를 실행하면 다음과 같은 결과가 나옵니다
Tue Thu
위 내용은 파이썬에 스택이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!