[Python] Queue

정수민·2023년 2월 16일
0

python

목록 보기
3/7
post-thumbnail

  • front(머리) : 저장된 데이터 중 첫번째 데이터
  • rear(꼬리) : 저장된 데이터 중 마지막 데이터

1. 큐 생성

입력

queue = [None for _ in range(6)]

front, rear = -1, -1   			# front = rear = -1

배열 크기를 지정한 후 해당 크기의 빈 큐 생성

line1 : queue = [None for _ in range(6)]
-> 배열 크기를 지정
line2 : front, rear = -1, -1
-> 빈 큐 생성(큐 초기화)
(front = rear = -1 로도 작성 가능)

2. enQueue: 데이터 텍스트 삽입

입력

rear += 1
queue[rear] = '셔누'
rear += 1
queue[rear] = '민혁'
rear += 1
queue[rear] = '기현'

print('-- 큐상태 --')
print('[출구]', end=' <- ')
for i in range(0, len(queue)):
    print(queue[i], end=' <- ')
print('[입구]')

💻 출력
-- 큐상태 --
[출구] <- 셔누 <- 민혁 <- 기현 <- None <- None <- None <- [입구]

  • rear(꼬리)부터 데이터 삽입
  • 꼬리쪽이 입구, 머리쪽이 출구

질문

  • 한번에 한칸씩만 넣을 수 있나?

3. deQueue: 데이터 추출

입력

front += 1
data = queue[front]
queue[front] = None
print(f'deQueue -> {data}')

💻 출력
deQueue -> 셔누

  • front(머리)부터 추출

입력

print('-- 큐상태 --')
print('[출구]', end=' <- ')
for i in range(0, len(queue)):
    print(queue[i], end=' <- ')
print('[입구]')

💻 출력
-- 큐상태 --
[출구] <- None <- 민혁 <- 기현 <- None <- None <- None <- [입구]

입력

front += 1
data = queue[front]
queue[front] = None
print(f'deQueue -> {data}')

front += 1
data = queue[front]
queue[front] = None
print(f'deQueue -> {data}')

💻 출력
deQueue -> 민혁
deQueue -> 기현

입력

print('-- 큐상태 --')
print('[출구]', end=' <- ')
for i in range(0, len(queue)):
    print(queue[i], end=' <- ')
print('[입구]')

💻 출력
-- 큐상태 --
[출구] <- None <- None <- None <- None <- None <- None <- [입구]

  • 데이터가 다 추출된 후 또 추출하면 error
profile
just do it

0개의 댓글