선형 큐 (배열로 구현)

    선형 큐의 기본 설명은 '선형 큐 (구조체로 구현)' 글에서 설명을 했으므로 생략하겠다. 단순 배열로 큐의 동작 상태를 보기 위해 구현한 코드를 바로 보이겠다. 선형 큐의 동작 상태 코드 #include #include #define MAX 5 int front; int rear; int data[MAX]; // 선형 큐 초기화 void init_queue() { rear = -1; front = -1; } // 선형 큐 상태 출력 void queue_print() { for (int i = 0; i

    선형 큐 (구조체로 구현)

    선형 큐 기본 설명 우선은 큐가 동작하는 모습을 이해하기 위한 코드의 설명을 하고 마지막에 스택을 구현했을 때처럼 직접 입력하는 코드는 따로 보이겠다. 밑의 그림을 보면 큐의 초기 상태는 front와 rear가 둘 다 -1에 있을 때다. 큐는 스택과 달리 먼저 들어온 것이 먼저 나가는 형태다. (FIFO, first in first out) 선형 큐의 동작 원리의 이해를 돕기 위해 몇 가지 동작을 해보겠다. 기본 코드는 다음과 같이 설정한다. #include #include #define MAX 5 typedef struct Queue{ int front; int rear; int data[MAX]; } Queue; [-1] [0] [1] [2] [3] [4] front, rear (NULL) (NULL..

    10845번: 큐(BOJ C/C++)

    10845번: 큐(BOJ C/C++) 사용 언어: C 문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수..