akongman 2024. 3. 9. 20:15

 

어.. 여전히 그림은 좀 엉성하고 이상한데.

아무튼!! 글을 읽으면 이해할 수 있을 것이다.

 

queue는 양방향이다. 스택과는 다르다는 점이 양방향으로 삽입 삭제가 양방향이라는 점이다.

그래서 1이라는 값을 제일 먼저 push 해도 제일 먼저 나갈 수 있다.

즉 

두꺼운 옷 -> 긴팔 - > 반팔 - > 나시 순으로 입력을 했을때 스택이였다면 나시부터 하나씩 빼야했다.

하지만 큐의 경우에는 두꺼운 옷을 먼저 넣었어도 두꺼운 옷 먼저 뺼 수 있다.

 

First in First Out (FIFO) 방식이다. 따라서 먼저들어온게 먼저 나간다.

 

---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 

이 역시 표준 라이브러리에 정의되어 있다.

#include <queue> 로 사용해주면 된다.

 

queue에서 정의되어 있는 함수들은 다음과 같다.

1) push ( ) 

2) pop ( ) 

3) empty ( ) 

4) size ( )

 

여기까지는 스택과 동일하다 추가로 생긴 것은

5) front()  : 제일 첫번째에 있는 것 

6) back() : 제일 마지막에 있는 것