안녕하세요, 여행벌입니다.

C++ Standard Library에서 기본적으로 제공하는 자료구조 헤더파일의 함수들을 정리해보려고 합니다!


1. Queue(큐)란?

queue(큐)는 FIFO(First in First Out) 구조로 운영됩니다.

즉, 먼저 들어온 데이터들이 먼저 삭제되는 구조입니다!

앞 쪽에서는 Pop(삭제)가 이루어지고, 뒤에서는 Push(추가)가 이루어집니다.

2. Queue(큐) Library 기본 함수

#include <queue> //queue 헤더파일을 불러온다.

using namespace std;

먼저, 기존의 C언어와는 조금 다른 방식으로 queue 헤더파일을 불러와야 함을 확인할 수 있습니다!

또, 밑에 using namespace std; 라는 처음 보는 코드가 있죠?

'Standard Library라는 namespace(공간)에 있는, 명령어들을 사용하겠다!' 라고 생각하시면 될 것 같습니다!

 

다음은 큐 헤더 파일 안에 있는 기본 함수들입니다!

 

큐 기본 함수

선언
- queue <자료형> 이름 :

추가 및 삭제

- push(element) : 큐에 element(원소)를 추가한다.

- pop() : 큐에 있는 원소를 삭제 / 반환 값은 없다.

서칭

- front() : 큐 제일 앞에 있는 원소를 반환한다.

- back() : 큐 제일 뒤에 있는 원소를 반환한다.

기타

- empty() : 큐가 비어있으면 treu 아니면 false를 반환한다.

- size() : 큐의 사이즈를 반환한다. ( 원소가 몇 개 들어 있는지 )

오늘은 6가지 기본 함수에 대해서만 공부해보겠습니다.

#include<iostream>
#include<queue>

using namespace std;

int main(void) {
	queue<int> que1; //int형 que1를 선언한다.
	que1.push(1); //que1 에 1을 넣는다.
	que1.push(2); //que1 에 2를 넣는다.
	que1.push(3); //que1 에 3을 넣는다.
    	que1.push(4); //que1 에 4를 넣는다.
    	que1.pop(); //que1의 원소 하나를 삭제한다. FIFO 구조이므로, 
                	//맨 처음에 들어온 원소 '1'이 삭제된다.
	cout << que1.front() << endl;
	cout << que1.back() << endl;
	cout << que1.size() << endl;
    	cout << que1.empty() << endl;
    return 0;
}

int형 원소들을 넣을 큐, que1을 선언하고, que1에 1,2,3,4를 넣어봤습니다!

그 뒤, pop 함수를 이용해 원소를 하나 삭제했는데요! 

queue는 FIFO 구조로 돌아가므로, 당연히 front는 원소 '2'을 가리키고, back은 원소 '4'을 가리키고,

3개의 원소를 넣었으므로, size는 '3'인 것을, empty는 false인 '0'이 출력될 것을 기대할 수 있습니다.

출력값 :
2
4
3
0
계속하려면 아무 키나 누르십시오...

기본 함수지만 가장 중요한 6가지 함수를 제대로 숙지하셨다면,

queue(큐) 자료구조를 활용하는 알고리즘을 푸는데 문제가 없을 겁니다.

다음에는 queue를 이용한 다른 알고리즘 기법에 대해서 다뤄보도록 하겠습니다.

+ Recent posts