알고리즘
# [알고리즘] Que 구현
ForrestPark
2024. 12. 28. 15:40
📌 요약 : Que 의 기능인 pop, push 를 class로 구현
🤔 Que 란?
📌 Que 는 입출력방향이 서로반대인 선형자료구조 이다.
1. push 구현
class Queue:
def __init__(self):
## 가장 앞에 있는 녀석 front
self.front = None
## LL 의 node 활용 하여 구현
def push(self, value):
## push 할때 self 의 front 가 비어있는지 확인하는게 중요
if not self.front: # 비어있는 경우
self.front = Node(value) ## 노드를 집어넣어주고 끝
return
## 뒤에다 하나씩 붙여 나가야한다. 헤드에서 시작해서 제일 뒤로간다.
## 앞에 있는 녀석 설정
node = self.front
while node.next: ## 순회 시작
node = node.next
## 제일끝으로 왔다.
node.next = Node(value) ## 끝에 노드를 넣은후 가리킴
2. pop 구현
## front 를 꺼낸뒤 없에고 다음 노드를 front 로 지정 한다.
def pop(self):
## 꺼낼려고 하는데 아무것도 없을 경우
if not self.front:
return None
## 노드가 있을때 맨 앞에 있는걸 node 로 지정
node = self.front
## 지금 바라보고잇는 녀석의 다음녀석을 front 로 지정해준다.
self.front = self.front.next
return node.val
3. is empty 구현
## self 의 front 가 None 이면 비어있다.
def is_empty(self):
return self.front is None