STL:deque - C++에서 덱 사용하기
덱 관련 함수
deque에 관련된 모든 함수는 이 링크에서 확인할 수 있다.
참고로 STL:deque는 STL:vector와 비슷하지만 메모리 상에 연속 배치 되어있지는 않다. 자료구조의 앞, 뒤에 데이터를 추가하거나 변경해야 할 경우에는 deque를 사용하는 것이 효율적이지만 추가와 제거가 필요하지 않고 배열과 같은 느낌으로 쓰고 싶을 땐 vector를 사용하는 것이 좋다.
- deque 초기화
1
deque<int> dq;
push_front(value)
: 덱의 처음 부분에 원소를 추가한다.push_back(value)
: 덱의 마지막 부분에 원소를 추가한다.insert(iterator, value)
: 해당 주소가 가리키는 곳 앞에 원소를 추가한다.1 2 3 4
dq.push_front(10); // 10 dq.push_back(50); // 10 50 dq.push_front(24); // 24 10 50 dq.insert(dq.begin() + 1, 33); // 24 33 10 50
pop_front()
: 덱에서 가장 상단의 원소를 제거한다.pop_back()
: 덱에서 가장 하단의 원소를 제거한다.erase()
: 해당 주소가 가리키는 곳의 원소를 제거하고 그 다음 원소의 주소값을 반환한다.1 2 3
dq.pop_front(); // 33 10 50 dq.pop_back(); // 33 10 dq.erase(dq.begin() + 1); // 10
size()
: 덱에 들어있는 원소의 개수를 반환한다.empty()
: 덱이 비어있는지 확인한다.clear()
: 덱 속의 모든 원소를 제거한다.1 2 3
cout << dq.size() << "\n"; // 1 dq.clear(); cout << dq.empty() << "\n"; // 비어있으므로 1 출력
댓글남기기