Deque 기본 사용법 및 예제
Deque의 개념
- Double Ended Queue의 줄임말로, 양쪽 끝에서 삽입과 삭제가 가능한 선형 자료구조입니다.
Deque 사용법
- deque 헤더 파일을 포함해야 합니다.
- deque<[데이터 타입]> 이름; 으로 deque를 선언합니다.
- using namespace std를 추가하면 편리하게 사용할 수 있습니다.
#include <deque> using namespace std; deque<int> dq;
Deque 기본 함수
- deque.assign(n)
- 요소 n개를 0으로 초기화합니다.
- deque.assign(n,i)
- 요소 n개를 i로 초기화합니다.
- deque.at(n)
- deque의 n번째 원소를 참조합니다.
- deque[n]보다 상대적으로 속도가 느립니다.
- deque[n]
- deque의 n번째 원소를 참조합니다.
- deque.at(n)보다 상대적으로 속도가 빠릅니다.
- deque.front()
- deque의 첫 번째 원소를 참조합니다.
- deque.back()
- deque의 마지막 원소를 참조합니다.
- deque.clear()
- deque의 모든 요소를 삭제합니다.
- deque.empty()
- deque가 비어있으면 true 아니면 false를 반환합니다.
- deque.size()
- deque의 원소 수를 반환합니다.
- deque.insert(iterator,i)
- iterator가 가리키는 위치에 요소 i 삽입합니다.
- 기존 원소들은 한 칸씩 밀려납니다.
- deque.erase(iterator)
- iterator가 가리키는 위치의 요소를 삭제합니다.
- deque.resize(m)
- deque의 메모리 크기를 m으로 늘리고 늘어난 부분은 0으로 초기화합니다.
- deque.push_front(i)
- deque의 첫 번째 원소 앞에 원소 i를 삽입합니다.
- deque.pop_front()
- deque의 첫 번째 원소를 삭제합니다.
- deque.push_back(i)
- deque의 마지막 원소 뒤에 원소 i를 삽입합니다.
- deque.pop_back()
- deque의 마지막 원소를 삭제합니다.
Deque 기본 사용 예시
#include <iostream>
#include <deque>
using namespace std;
int main()
{
deque<int> dq;
dq.push_back(10); // 뒤에 10 삽입
dq.push_front(20); // 앞에 20 삽입
cout << dq.front() << '\n'; // 20 출력
cout << dq.back() << '\n'; // 10 출력
dq.pop_front(); // 앞에 있는 20 제거
dq.pop_back(); // 뒤에 있는 10 제거
dq.push_back(30);
dq.push_back(40);
for (int i = 0; i < dq.size(); i++) {
cout << dq[i] << ' ';
}
cout << '\n'; // 30 40 출력
return 0;
}
- 결과
20
10
30 40