1. 큐
1) 정의
1> FIFO (First In First Out)
2> 먼저 집어 넣은 data가 먼저 나오는 구조
3> data 삽입은 한 쪽 끝에서, 삭제는 반대쪽 끝에서만 일어난다.
4> 용어
- rear: 삽입이 일어나는 쪽
- front: 삭제가 일어나는 곳
2) 특징
1> 일종의 리스트
2> Linked List로 구현
3) 선언
1> 헤더 파일
#include <queue>
2> 큐 선언
queue<'data type'> '변수명';
4) 연산
1> 추가: 뒷 부분(back) 추가
q.push(element); // 큐의 뒷 부분에(back) 원소를 추가
2> 삭제: 앞에 있는(front) element를 삭제
q.pop(); // 큐의 앞에 있는(front) 원소를 삭제
3> 조회
- front (삭제 되는 곳)
q.front(); // 큐 제일 앞에 있는 원소를 return (삭제 되는 곳)
- back (추가 되는 곳)
q.front(); // 큐 제일 앞에 있는 원소를 return (추가 되는 곳)
4> 크기
q.size(); // 큐 내부의 element 개수를 return
5> 비어있는지
q.empty(); // 큐가 비어있으면 true를 return (아니면 false를 return)
'알고리즘 > 알고리즘_기초' 카테고리의 다른 글
12강 - 그리디 (Greedy) (0) | 2020.03.14 |
---|---|
11강 - 다이나믹 프로그래밍 (Dynamic Programming) (0) | 2020.03.14 |
9강 - 스택 (Stack) (0) | 2020.03.11 |
6강 - C++ STL sort() 함수 (0) | 2020.03.11 |
5강 - 병합 정렬 (Merge Sort) (0) | 2020.03.11 |