티스토리 뷰

PL/C++

[자료구조 C/C++] #04. Queue

poopooreum 2023. 7. 21. 19:01
반응형

Queue란??

큐는 자료구조로써 FIFO(First In First Out)선입선출
구조를 사용합니다. 먼저 들어온 데이터가 먼저 나가는 방식입니다.

 

Queue의 구조

queue의 구조는 간단합니다. push()함수를 통하여 원소를 삽입하고 pop()함수를 통하며 가장 앞에 있는 원소를 삭제합니다. front()함수를 통하여 가장 앞에 있는 원소에 접근하고 back()함수를 통해 가장 뒤에 있는 원소에 접근할 수 있습니다.


Queue 사용법

queue를 사용하기 위해서는 <queue>라는 헤더파일을 불러와야 합니다. 그 후 queue<data type>변수명을 선언하시면 queue를 사용할 수 있습니다.
ex)
queue<int>q

 

Queue의 기본 함수

q.push(x) => q의 맨 뒤에 x를 삽입합니다.
q.pop()
=> q의 맨 앞의 원소를 삭제합니다.
q.front()
=> q의 맨 앞의 원소를 반환합니다.
이때, 원소는 삭제되지 않습니다.

q.back()
=> q의 맨 뒤의 원소를 반환합니다. 이때, 원소는 삭제되지 않습니다.
q.swap(q1,q2)
=> q1와 q2를 바꿔줍니다.
q.size()
=> q의 원소 개수를 반환합니다.
q.empty()
=> q가 비어있으면 true를, 비어있지 않으면 false를 반환합니다.

 

기타

priority_queue가 있습니다. 우선순위 큐라고 지칭하는데, 가장 큰 값이 Top으로 가도록 설계한 큐의 한 종류입니다. 시간복잡도가 O(logn)인 힙 정렬을 사용하기 때문에 일반적인 배열보다 속도가 빠릅니다.사용법은 queue와 동일하나 선언시 prioriry_queue<data type>변수명으로 선언합니다.
가장 작은 값이 Top으로 가도록 하고 싶으면
greater를 사용하시면 됩니다. 기본 함수는 큐와 동일합니다.



반응형

'PL > C++' 카테고리의 다른 글

[자료구조 C/C++] #06. Iterator  (0) 2023.07.23
[자료구조 C/C++] #05. Stack  (0) 2023.07.22
[자료구조 C/C++] #03. Set  (0) 2023.07.19
[자료구조 C/C++] #2 String  (0) 2023.07.16
[자료구조 C/C++] #2 Vector  (0) 2023.07.16
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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
글 보관함