Notice
Recent Posts
Recent Comments
Link
오븐 노트
[C++] deque 본문
#include <iostream>
using namespace std;
#include <vector>
#include <list>
#include <deque>
// vector : 동적 배열
// [ ]
// list : 이중 연결 리스트
// [ ] <-> [ ] <-> [ ] <-> [ ]
// deque : double-ended queue 데크
// [ ]
int main()
{
// 시퀀스 컨테이너 (Sequence Container)
// 데이터가 삽입 순서대로 나열되는 형태
// vector list deque
//deque<int> dq;
//dq.push_back(1);
//dq.push_front(2);
//cout << dq[0] << endl;
// vector와 마찬가지로 배열 기반으로 동작
// 다만 메모리 할당 정책이 다르다
// vector
// [ 1 1 1 ]
// deque
// [ 3 3 ]
// [ 1 1 1 2 ]
// [ 2 ]
vector<int> v(3, 1);
deque<int> dq(3, 1);
v.push_back(2);
v.push_back(2);
dq.push_back(2);
dq.push_back(2);
dq.push_front(3);
dq.push_front(3);
// - deque의 동작 원리
// - 중간 삽입/삭제 -> 앞뒤를 추가하고 제거할때와는 다르게 중간 삽입/삭제는 결국 데이터끼리의 빈 공간이 존재해서는 안되므로 느리다.
// - 처음/끝 삽입/삭제 -> 데이터 칸 자체를 새로 추가하는 개념이기에 동작이 빠르다
// - 임의 접근 -> 임의 접근 지원
dq[3] = 0;
cout << dq[3] << endl;
deque<int>::iterator it; // 찾고싶은 데이터를 입력하면 그 데이터의 순서를 계산하여 어느칸 몇번째에 있는지 추적 가능
return 0;
}
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 - 인프런 | 강의
C++ 카테고리의 글은 인프런 Rookiss님의 강의를 공부하며 정리하는 내용입니다.
이미 알고 있는 내용도 다시 정리 되어있을 수 있습니다.
모든 글은 제가 공부하기 위해 작성합니다.
'Develop > C++' 카테고리의 다른 글
[C++] map #2 (0) | 2023.07.13 |
---|---|
[C++] map #1 (0) | 2023.07.11 |
[C++] list #3 (0) | 2023.06.09 |
[C++] list #2 (0) | 2023.06.09 |
[C++] list #1 (0) | 2023.06.08 |