728x90
반응형
비어있는 큐 생성
q = [0]*5
front, rear = 0, -1
삽입, 삭제
# 삽입
rear = (rear+1)
q[rear] = 2
print(q[front:rear+1])
[2]
# 삽입 - index out of range 방지
rear = (rear+1)%len(q)
q[rear] = 10
print(q[front:rear+1])
[2, 10]
# %len(q) 참고 -> 0~4 사이 인덱스 값이 반복되는 것을 확인할 수 있다
for i in range(0,12):
print(i%len(q), end = " ")
0 1 2 3 4 0 1 2 3 4 0 1
# 삭제
front = (front+1)%len(q)
print(q[front:rear+1]) # 처음에 추가한 2 삭제
[10]
길이 구하기
# 길이 구하기
q = [0]*5
front, rear = 0, -1
length = 0 # 처음 큐를 생성할 때 length 용 변수 생성
# length에 삽입 시 +1, 삭제 시 -1
def enqueue(data): # 함수로 만들어서 사용하자는 의미가 아닌,
global rear, q, length # 이러한 방식으로 동작함을 참고
rear = (rear+1) % len(q)
q[rear] = data
length += 1
def dequeue():
global front, q, length
front = (front+1) % len(q)
length -= 1
큐 출력하기
enqueue(20)
enqueue(5)
enqueue(50)
dequeue()
for i in range(front, front+length):
print(q[i % len(q)], end = " ")
5 50
728x90
반응형
'Algorithm Problems' 카테고리의 다른 글
[백준][Python] 1931번 회의실 배정 - DP (0) | 2021.08.16 |
---|---|
[백준][Python] 1043번 거짓말 - 그래프, DFS (0) | 2021.08.12 |
[Python] heapq 라이브러리 살펴보기 (0) | 2021.08.04 |
[백준][Python] 20301번 반전 요세푸스 - 원형 큐 (0) | 2021.08.04 |
[백준][Python] 11723번 집합 (0) | 2021.08.04 |