728x90

 

1. queue

 

정의 및 특징
  • 먼저 집어넣은 데이터가 먼저 나오는 성질인 FIFO
  • 스택과 반대 개념

 

시간 복잡도
  • 삽입 및 삭제 -> O(1)
  • 탐색 -> O(n)

 

예시 코드

 

#include <bits/stdc++.h>
using namespace std;
queue<int> q;
int main(){
    for(int i = 1; i <= 10; i++)q.push(i);
    while(q.size()){
    	cout << q.front() << ' ';
        q.pop();
    }
    return 0;
}
/*
1 2 3 4 5 6 7 8 9 10
*/

 

 

method
  • push(value)
    • value를 큐에 추가한다.
  • pop()
    • 가장 앞에 있는 요소를 제거
  • size()
    • 큐의 크기
  • front()
    • 가장 앞에 있는 요소를 참조

2. deque

  • 앞에서 본 queue는 앞에서만 끄집어낼수 있다면
  • deque는 앞뒤로 삽입, 삭제 참조가 가능한 자료구조

 

예시 코드
#include <bits/stdc++.h>
using namespace std;
int main(){
    deque<int> dq;
    dq.push_front(1);
    dq.push_back(2);
    dq.push_back(3);
    cout << dq.front() << "\n";
    cout << dq.back() << "\n";
    cout << dq.size() << "\n";
    dq.pop_back();
    dq.pop_front();
    cout << dq.size() << "\n";
    return 0;
}

/*
1
3
3
1
*/

 

 

더 상세한 설명은 아래 게시글 참고

 

2022.09.09 - [CS/자료구조] - [자료구조] 큐(Queue) - 선형 큐, 원형 큐, 우선순위 큐 with Python

 

[자료구조] 큐(Queue) - 선형 큐, 원형 큐, 우선순위 큐 with Python

이전에 배웠던 스택과 마찬가지로 삽입과 삭제의 위치가 제한적인 자료구조이다. 동적 자료형인 리스트 자료형을 사용한다 선입선출 구조(FIFO : First In First Out) 큐의 뒤에서는 삽입만 하고, 큐의

cheon2308.tistory.com

 

2022.09.09 - [CS/자료구조] - [자료구조] 큐(Queue)활용 - 버퍼(Buffer), deque with Python

 

[자료구조] 큐(Queue)활용 - 버퍼(Buffer), deque with Python

OTT, 유튜브 등을 시청할 때 '버퍼링' 때문에 짜증났던 기억이 있을 것이다. 왜 일어나는 것일까? 배웠던 Queue 구조를 활용하여 버퍼에 대해 알아보자. 또한 queue를 파이썬에서 더 간편하고 빠르게

cheon2308.tistory.com

 

728x90

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

[C++] 입출력 기초  (1) 2023.12.20
[C++] struct with Cpp  (3) 2023.12.20
[C++] Stack with Cpp  (0) 2023.12.20
[C++] set, multiset with Cpp  (0) 2023.12.20
[C++] map, unordered_map with Cpp  (1) 2023.12.20