

class ArrayStack :
#스택의 생성자
def __init__(self, capacity) :
self.capacity = capacity
self.array = [None] * self.capacity
self.top = -1
#스택의 연산들을 멤버 함수로 구현
def isEmpty(self) :
return self.top == -1
def isFull(self) :
return self.top == self.capacity-1
def push(self, e):
if not self.isfull():
self.top += 1
self.array[self.top] = e
else: pass
def pop(self):
if not self.isEmpty():
self.top -= 1
return self.array[self.top+1]
else:pass
def peek(self):
if not self.isEmpty:
return self.array[self.top]
else: pass
함수로 구현한 스택과 차이점
- #1. 함수로 구현한 전역 변수 -> 클래스의 멤버 변수
- #2. 모든 함수 -> 클래스의 메소드(멤버 함수)
- #3. 모든 메소드의 첫 번째 파라미터 = self
- #4. 모든 메소드에서 클래스의 멤버를 사용할 때 self.을 이용해 클래스 내의 변수(데이터 멤버)와 함수(메소드) 표시
'자료구조' 카테고리의 다른 글
희소다항식 계산 (1) | 2023.10.28 |
---|---|
피보나치 수열 구현(+매개 변수별 호출 빈도 측정) (0) | 2023.10.22 |
중위표기식->후위표기식 변환(Stack) (0) | 2023.10.10 |
배열을 이용한 스택(함수) (0) | 2023.10.10 |