일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- VBA
- windows
- pyqt5
- Android
- 비주얼베이직
- Excel
- 문자열
- html
- Outlook
- Windows10
- win32com
- 오피스
- 윈도우11
- python
- git
- 안드로이드
- matlab
- 파이썬
- python3
- 아웃룩
- pythongui
- office
- 엑셀
- 파워포인트
- pandas
- Windows11
- 파이썬GUI
- 파이썬3
- 윈도우10
- 깃
Appia의 IT세상
파이썬[Python] 자료구조[Data Structure] 큐[QUEUE]구현하기 본문
파이썬[Python] 자료구조[Data Structure] 큐[QUEUE]구현하기
이전 포스팅에서는 자료구조에서 많이 사용하는 스택[Stack]에 대해서 알아봤습니다. 이번 포스팅에서는 스택[Stack]과 함께 매우 많이 사용하는 큐[QUEUE]에 대해서 파이썬을 통해서 구현해보도록 하겠습니다. 일단 큐를 가장 많이 사용할 떄 이야기 하는 것을 FIFO(First In, First Out) 즉, 선입 선출입니다. 즉 , 가장 먼저 들어간 데이터가 가장 먼저 제거되는 형태입니다.
다음과 같은 구조로 데이터가 들어가고 제거 되는 구조입니다. 그래서 앞서 스택(Stack)에서 코드를 일정 부분 재사용하여 작업을 진행해보도록 하겠습니다.
이와 같은 형태로 코드를 구현할 수 있습니다.
#클래스 선언
class Queue:
# 초기 설정, 스택으로 사용할 리스트 선언
def __init__(self):
self.queue = []
# In 함수 / insert 함수 List의 Insert 함수 이용
def insert(self, data):
self.queue.insert(0, data)
# Out 함수 / Remove 함수, List의 pop함수 이용
def remove(self):
if len(self.queue) <=0 :
return("No Data in Stack")
else :
return self.queue.pop()
ExStack = Queue()
ExStack.insert("A")
ExStack.insert("B")
ExStack.insert("C")
ExStack.insert("D")
ExStack.remove()
ExStack.remove()
print(ExStack.queue)
|
cs |
크게 변하는 부분은 함수 부분입니다. 즉, 스택 부분에서 push / pop부분을 여기에서 insert/remove로 변경하였습니다. 그리고, insert를 입력한 데이터를 가장 앞으로 넣어버립니다. 그러면, pop시 앞서서 입력된 데이터들이 제거되는 형태이입니다.
위의 코드 부분을 실행하면, 다음과 같은 결과가 나옵니다.
['D', 'C']
|
cs |
다음 링크에서는 앞서서 포스팅한 스택을(Stack)을 구현한 부분입니다. 함꼐 보면 도움이 될 것입니다.
파이썬[Python] 자료구조[Data Structure] 스택[Stack]구현하기
오늘은 파이썬[Python] 자료구조[Data Structure] 큐[QUEUE]구현하기라는 주제로 큐를 구현하는 부분에 대해서 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python 응용' 카테고리의 다른 글
파이썬[Python] 두파일 내에 동일한 단어 확인 및 비교하기 (0) | 2020.10.15 |
---|---|
파이썬[Python] 리스트(List)의 중복된 맴버 삭제하기, 없애기 (0) | 2020.10.13 |
파이썬[Python] 자료구조[Data Structure] 스택[Stack]구현하기 (0) | 2020.10.08 |
파이썬[Python] 파일(file) / 디렉토리(directory) 비교 하기(filecmp) (0) | 2020.08.12 |
Python[파이썬] Ping(ICMP) 확인 하는 방법/확인하는 프로그램 만들기 (1) | 2020.07.18 |