1. 미션 제목
Queue 를 만들어 보자!
2. 지시문
배열을 이용하여 Queue 를 만들어 보자.특정 업무를 할 때, 우리는 일을 들어온 순서대로 해야할 때가 있다. 은행 업무를 예를 들어보자. 은행업무를 보기 위한 고객들이 10명이 있다고 치고, 각자 대기표가 있다. 그럼 은행원들은 각자 업무가 끝나면 대기한 고객을 순서대로 뽑아야 할 것이다. 이때 필요한 것이 Queue 이다. (1) 대기표를 뽑는다 (Queue 에 데이터를 삽입). (2) 대기인원을 보여준다 (queue 에 쌓여있는 데이터 조회). (3) 순서대로 대기인원을 호출한다 (queue 를 하나씩 pop 한다).
- Queue 자료구조를 array를 이용해 구현
- add (1), pop (2), display (3), quit (4) 기능 구현
- 입력 한 옵션 (1, 2, 3, 4) 에 따라 switch 문을 사용하여 각각의 기능을 수행하도록 구현
- 필요한 함수 목록: insert(), delete(), display() - 각 함수의 파라미터는 필요하면 정의하기
- add() 함수의 정의 - queue 가 꽉찼는지 확인 (Queue 의 max 크기는 10으로 정의), queue 가 꽉찼으면 “Queue가 꽉 찼습니다.” 를 출력 - queue 에 삽입이 가능하면, 값을 입력 받아 queue 배열에 삽입 (hint: front, rear 변수를 사용하여 queue 의 현재 위치를 저장한다)
- pop() 함수의 정의 - queue 가 비었는지 확인, 비었으면 “Queue가 비었습니다.” 를 출력 - queue 가 비어있지 않으면, 가장 먼저 들어온 순서로 값을 하나 가져와 출력 (hint: front 변수값 조정 필요)
- display() 함수의 정의 - 반복문을 사용하여 배열의 모든 요소를 출력 (hint: front, rear 변수 범위로 배열값을 출력)
TODO: 여기서 출력 예시 보여주기
3. 핵심 개념 (키워드 제시)#배열 #Queue #switch문 #반복문 #표준입출력
4. 부가 설명 (만약 존재한다면)- Queue: https://en.wikipedia.org/wiki/Queue_(abstract_data_type)- switch: https://docs.microsoft.com/ko-kr/cpp/c-language/switch-statement-c?view=vs-2019- 표준입출력: https://www.tutorialspoint.com/cprogramming/c_input_output.htm
나의 풀이
구현한 기능
- MAX_SIZE를 define 하여 유지보수 용이 (초기 상태: 10)
- Queue 구조체를 작성하여 큐를 관리하기 용이하게 하고 여러 개의 큐를 다룰 수 있도록 함
- 스위치 문을 사용하여 사용자가 직접 조작하도록 구현함
- 0 입력하면 프로그램 종료
- 무한 루프로 계속되는 작업을 할 수 있음
- 메뉴에 없는 명령을 내리면 사용자에게 알리고 다시 입력 받음
- 큐 조회 기능
- 인덱스를 표시함
- 차례대로 밑에서부터 데이터가 쌓이도록 구현함
- 구분선을 이용하여 직관적으로 이해하기 쉽게 구현함