[6.2] 큐(Queue)의 기본 오퍼레이션
자금까지 변수, 배열, 구조체, 연결리스트라는 자료구조를 공부하였다.
각 자료구조에는 고유한 특징과 장단점이 있음을 보았다.
큐에도 고유한 특징이 있다.
자료구조의 특징을 잘 이해하여야 문제/데이터를 표현할 때
적합하고 효율적인 자료구조의 선택이 가능해진다.
자료구조의 선택이 적절할 때, 그것을 바탕으로 적합한 알고리즘의 설계가 가능해진다.
(잘못된 자료구조의 선택은 잘못된 알고리즘을 야기할 가능성이 많다)
큐의 특성이란 대기상황에서
먼저 온 것이 먼저 처리(또는 서비스)를 받는 표현에 유용하다.
(FIFO; First In First Out, 먼저 들어 온 것이 먼저 나간다는 뜻. "피포"/"파이포"라고 발음한다)
큐에 데이터가 들어가는 상황을 '삽입'이라 하고,
큐로부터 데이터가 나가는 상황을 '삭제'라 한다.
삽입은 AddQ()라는 명령에 의해 큐의 rear에 데이터가 들어간다.
삭제는 DelQ()라는 명령에 의해 큐의 front에서 데이터가 나간다.
이 내용은 단원 [6.1:큐의 개념]에서 다루었다.
(AddQ, DelQ는 함수명이다. delete_Queue라고 쓰는 교재도 있다)
이 단원에서는 AddQ()와 DelQ()의 개념, 알고리즘을 공부하고,
예제와 실행file을 활용하여 큐의 오퍼레이션을 공부하자.
//