알고리즘/나동빈 실전 알고리즘

큐(Queue)

개발윗미 2021. 7. 21. 12:31

큐 또한 스택과 같이 자료를 표현하고 처리하는 방법인데 큐는 입구와 출구가 다르기 때문에

 

은행 창구와 같이 가장 먼저 들어온 데이터가 가장 먼저 나가는 구조이다.

 

빈 큐가 있다고 가정하고,

 

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() 하여 해당 데이터를 빼는 과정을 반복한다.

 

[결과]

큐(Queue) 결과

 


출처

https://blog.naver.com/ndb796/221230944729

 

14. 큐(Queue)

이번 시간에는 지난 시간에 배웠던 스택(Stack)에 이어서 큐(Queue)에 대해 알아보도록 합시다. 큐 또한 ...

blog.naver.com