Double Ended Queue의 약자로 큐의 양쪽 끝에서 원소를 추가하거나 삭제할 수 있는 자료구조

Deque 선언

#include <iostream>
#include <deque>
using namespace std;

int main(void) {
	
	deque<int> DQ; // 비어있는 int deque 선언
	
	return 0;
}

Deque 값 추가

#include <iostream>
#include <deque>
using namespace std;

int main(void) {
	
	deque<int> DQ; // 비어있는 int deque 선언
	
	DQ.push_front(1); // 1
	DQ.push_back(2); // 1 2
	DQ.push_front(3); // 3 1 2
	
	DQ.insert(DQ.begin() + 1, 5); // 3 5 1 2
	
	return 0;
}

Deque 크기

#include <iostream>
#include <deque>
using namespace std;

int main(void) {
	
	deque<int> DQ; // 비어있는 int deque 선언
	
	DQ.push_front(1); // 1
	DQ.push_back(2); // 1 2
	DQ.push_front(3); // 3 1 2
	
	DQ.insert(DQ.begin() + 1, 5); // 3 5 1 2
	
	cout << DQ.size() << '\\n'; // 4
	
	if (!DQ.empty()) {
		cout << "deque is not empty!" << '\\n';
	}
	
	return 0;
}

Deque 값 삭제

#include <iostream>
#include <deque>
using namespace std;

int main(void) {
	
	deque<int> DQ; // 비어있는 int deque 선언
	
	DQ.push_front(1); // 1
	DQ.push_back(2); // 1 2
	DQ.push_front(3); // 3 1 2
	
	DQ.insert(DQ.begin() + 1, 5); // 3 5 1 2
	
	cout << DQ.size() << '\\n'; // 4
	
	if (!DQ.empty()) {
		cout << "deque is not empty!" << '\\n';
	}
	
	DQ.pop_front(); // 5 1 2
	DQ.pop_back(); // 5 1
	
	DQ.erase(DQ.begin() + 1); // 5
    
	DQ.clear(); // { }
	
	return 0;
}

Deque 값 확인

#include <iostream>
#include <deque>
using namespace std;

int main(void) {
	
	deque<int> DQ; // 비어있는 int deque 선언
	
	DQ.push_front(1); // 1
	DQ.push_back(2); // 1 2
	DQ.push_front(3); // 3 1 2
	
	DQ.insert(DQ.begin() + 1, 5); // 3 5 1 2
	
	cout << DQ.size() << '\\n'; // 4
	
	if (!DQ.empty()) {
		cout << "deque is not empty!" << '\\n';
	}
    
	cout << DQ.front() << '\\n'; // 3
	cout << DQ.back() << '\\n'; // 2
	cout << DQ[1] << '\\n'; // 5
    
	return 0;
}