C++

[C++STL]Queue 큐

큐의 정의와 기본 예제

Posted by kyoungIn on December 11, 2018

큐는 FIFO(First In First Out)원리로 동작하는 선형적인 자료구조

데이터가 들어오고 나가는 곳이 달라서 입구로 들어간 데이터가 차곡차곡 쌓여있다가 들어간 순서대로 반대쪽의 출구로 나온다.


큐을 c로 구현하는 방법도 있지만 C++에서 제공하는 STL을 통해 쉽게 사용 할 수 있다.

먼저 라이브러리를 선언한 후에 queue 로 queue컨데이너 객체를 생성 하면 아래와 같은 함수들을 사용할 수 있다.

< 연산 >

  • push(x) : 큐의 맨 뒤에 데이터 x를 추가한다.
  • pop() : 큐의 맨 앞의 데이터를 삭제한다.
  • front() : 큐의 가장 앞의 데이터를 반환한다.
  • back() : 큐의 가장 뒤의 데이터를 반환한다.
  • empty() : 큐가 비어있는지 판단한다.(true or false)
  • size() : 큐의 사이즈를 반환한다.

예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include<iostream>

#include<queue>		//라이브러리 불러옴



using namespace std;



int main(){



	queue<int> q;	// 큐 생성



	q.push(10);	//데이터 삽입(뒤에)

	q.push(20);

	q.push(30);

	q.push(40);

	q.push(50);



	while (!q.empty()){ // 스택이 비어있지 않다면



		cout << "front data : " << q.front() << "  back data : " << q.back() << '\n';

		cout << "queue size : " << q.size() << "\n\n";

		

		cout << "data pop" << '\n';

		q.pop();	//맨앞의 데이터 삭제

		

	}

	return 0;



}