큐 또한 스택과 같이 자료를 표현하고 처리하는 방법인데 큐는 입구와 출구가 다르기 때문에
은행 창구와 같이 가장 먼저 들어온 데이터가 가장 먼저 나가는 구조이다.
빈 큐가 있다고 가정하고,
push(1) --> 1 --> 맨 처음 1을 삽입한다.
push(2) --> 1 2 --> 2를 삽입한다.
push(7) --> 1 2 7 --> 7을 삽입한다.
pop() --> 2 7 --> 가장 먼저 들어간 1이 나간다.
push(4) --> 2 7 4 --> 4를 삽입한다.
pop() --> 7 4 --> 가장 먼저 들어간 2가 나간다.
[예제]
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
q.push(7);
q.push(5);
q.push(4);
q.pop();
q.push(6);
q.pop();
while(!q.empty()) {
cout << q.front() << ' ';
q.pop();
}
}
해당 소스코드는 C++로 작성한 코드이다.
큐를 사용하기 위해 헤더에 queue 라이브러리를 정의해준 뒤, 메인코드에서 큐를 정의한다.
push는 값을 넣는 방법, pop은 값을 빼내는 방법이므로 해당 코드의 순서는 아래와 같다.
7 --> 7 5 --> 7 5 4 --> 5 4 --> 5 4 6 --> 4 6
최종적으로 출력 시에 빈 큐가 될 때까지 front() 함수를 통해 가장 먼저 들어간 데이터가
출력되도록 한 후 pop() 하여 해당 데이터를 빼는 과정을 반복한다.
[결과]
출처
https://blog.naver.com/ndb796/221230944729
'알고리즘 > 나동빈 실전 알고리즘' 카테고리의 다른 글
깊이 우선 탐색(DFS; Depth-first Search) (0) | 2021.07.21 |
---|---|
너비 우선 탐색(BFS; Breadth-first Search) (0) | 2021.07.21 |
스택(Stack) (0) | 2021.07.21 |
계수 정렬(Counting Sort) (0) | 2021.07.20 |
힙정렬(Heap Sort) (0) | 2021.07.20 |