Menu
CoddyTech

덱

Coddy의 C++ - 표준 템플릿 라이브러리 코스 레슨. 23개 중 6번째.

Deque는 C++의 시퀀스 컨테이너로, double-ended queue라고도 불립니다. 일반적인 큐(queue)에 대해서는 나중에 컨테이너 어댑터(Container Adaptors) 장에서 배우게 될 것입니다. 하지만 지금은 일반적인 큐에서는 요소가 뒤(back)에서 삽입되고 앞(front)에서 제거된다는 점을 알아두어야 합니다. 반면, deque에서는 앞(front)과 뒤(back) 양쪽 모두에서 요소를 삽입하고 제거할 수 있습니다.


deque에서는 앞과 뒤 양쪽에서 요소를 삽입하고 제거할 수 있습니다.

우리는 .cpp 파일 상단에 #import <deque>를 사용하여 라이브러리를 포함함으로써 deque 데이터 구조를 구현합니다 (bits/stdc++.h 헤더 파일을 포함하여 deque에 액세스할 수도 있습니다).

다음으로, 아래와 같은 구문으로 deque를 생성합니다:

deque<data_type> deque_name;

먼저, deque 키워드를 사용합니다. 둘째, deque 내부에 저장하려는 변수 타입을 넣고 마지막으로 deque 변수 이름을 지정합니다.

deque<int> numbers;

또한 vector 데이터 구조에서 사용했던 것과 동일한 구문으로 deque를 선언할 때 초기화할 수 있습니다:

deque<int> numbers = {1, 2, 3, 4, 5};

cout << numbers[0];
Output:
1

따라서, push_back() 메서드를 사용하여 deque의 뒤에서 요소를 삽입하고, push_front() 메서드를 사용하여 앞에서 요소를 삽입합니다.

deque<int> numbers = {2, 3};

numbers.push_front(1);
numbers.push_back(4);

for(int i = 0; i < numbers.size(); i++)
	cout << numbers[i] << " ";
Output:
1 2 3 4

Deque 메서드

메서드기능
push_back()뒤에 새로운 요소를 삽입합니다
push_front()앞에 새로운 요소를 삽입합니다
pop_back()뒤에서 요소를 제거합니다
pop_front()앞에서 요소를 제거합니다
size()요소의 개수를 반환합니다
empty()deque가 비어 있는지 여부를 반환합니다
clear()deque의 모든 요소를 제거합니다
challenge icon

챌린지

쉬움

사용자는 -1을 입력할 때까지 양수를 입력합니다. 첫 번째 숫자는 앞(front)에, 두 번째 숫자는 뒤(back)에, 세 번째 숫자는 다시 앞에 넣는 식으로 번갈아 가며 각 숫자를 deque에 삽입합니다. 그 후, 반복문을 사용하여 deque를 순회하며 각 요소 사이에 공백을 하나씩 넣어 모든 요소를 출력합니다.

 

Input
5
10
15
20
25
30
-1
Output
25 15 5 10 20 30

직접 해보기

#include <deque>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

C++ - 표준 템플릿 라이브러리의 모든 레슨

직접 연습해 보세요: 온라인 C++ 컴파일러