IT learning
2021. 4. 14. 16:40
728x90
덱은 Restricted Structure의 끝판왕 같은 느낌의 자료구조 인데, 양쪽 끝에서 삽입과 삭제가 전부 가능하다.
참고로 자료구조에서의 덱은 deque고, Doble Ended Queue라는 뜻이다.
덱의 성질
1. 원소의 추가/ 제거 O(1)
2. 제일 앞/뒤의 원소확인 O(1)
3. 제일 앞/뒤가 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능
하지만 특이하게도 STL deque에서는 인덱스로 원소에 접근할 수 있다.
#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<int> dq;
dq.push_back(1);
dq.push_back(2);
for(int i = 0; i < dq.size(); i++) {
cout << dq[i] << ' ';
}
cout << endl;
}
이렇게 사용이 가능하다는 뜻이다.
기존에 큐나 스택은 인덱스로 원소에 접근이 불가능하다.
큐에서는 앞에서는 빼는거만 가능하고 뒤에서는 더하는것만 가능했지만, 덱에서는 front 와 back으로 앞 뒤를 구분하고 둘 다 빼고 넣는 것이 가능하다.
728x90