본문 바로가기
Pro Developer/Algorithm

[알고리즘] 큐 (C++)

by 성 언 2022. 2. 13.

이번 포스팅에서는 큐(Queue)에 관해 학습합니다.

 

 

 

I) 큐

큐(Queue)는 스택(Stack)과 마찬가지로 대표적인 자료구조이다.
먼저 들어온 자료가 먼저 나가는 (First In First Out) FIFO 방식으로 작동한다.

먼저 온 사람이 먼저 서비스를 받는 은행창구와 같다.

 

왼쪽이 입구이고 오른쪽이 출구인 아래의 큐에  다음과 같은 입력을 차례대로 했다고 해보자.

숫자 1 삽입 - 숫자 2 삽입 - 숫자 4 삽입 -  숫자 하나 삭제 -  숫자 하나 삭제 - 숫자 3 삽입

그렇다면 과정 별 결과는 아래 그림과 같을 것이다.

 

이제 STL Queue 라이브러리 선언과 함수에 대해 간단하게 정리하겠다.

 

queue container 은 <queue> 헤더파일 안에 존재한다.

기본 생성자 형식은 queue < DATA TYPE > 변수 이름 이다.

queue container 의 멤버 함수는

  • front()
    • 가장 처음 들어간 자료에 접근한다. (pop 하면 나올 자료)
  • back()
    • 가장 나중에 들어간 자료에 접근한다. (가장 최근에 push 한 자료)
  • empty()
    • Queue가 비어있는지 확인하는 함수이다.
    • 비어있다면 1(True)를, 차있다면 0(False)를 반환한다.
  • size()
    • Queue의 크기를 반환하는 함수이다.
    • 자료의 개수를 반환한다.
  • push()
    • 자료 하나를 Queue에 집어 넣는다.
  • pop()
    • 가장 먼저 들어간 자료를 삭제한다. ( 맨 앞에 있는 자료를 삭제한다.) 

 

#include <iostream> 
#include <queue> 

using namespace std; 

int main()
{ 	queue<int> q; 
	q.push(1); 
	q.push(2); 
	q.push(4); 
	q.pop(); 
	q.pop(); 
	q.push(3); 
	while(!q.empty())
	{ cout<<q.front()<<endl; q.pop(); } 
}​

 

 

 

 

*유의사항

- 공부 중인 인공지능공학과 대학생이 정리해서 남긴 정리입니다.

- 정확하지 않거나, 틀린 점이 있다면 댓글로 알려주시면 감사하겠습니다.

 

'Pro Developer > Algorithm' 카테고리의 다른 글

[알고리즘] 시간 복잡도 (Python)  (1) 2022.12.28

댓글