Array (배열)
- 같은 자료형을 가진 다수의 데이터를 그룹핑해서 효율적으로 관리할 수 있는 자료형.
- Index가 있어서, index를 이용하여 원하는 데이터에 접근하기 쉽다.
- 연속된 메모리 공간으로 이루어져 있다.
- 크기가 정해져있다.
배열의 장점
- 인덱스를 통한 검색을 하기 때문에, 데이터 조회가 빠르다.
배열의 단점
- 어떤 엘리먼트가 삭제 되면, 삭제된 빈 공간이 생기게된다. -> 빈공간으로 인한 메모리 낭비
- 배열의 크기를 미리 정해야 한다.
- 배열의 길이를 바꾸기 위해선 리소스 낭비가 크다.
List (리스트)
- 순서가 있는 연속적인 데이터의 집합
- 빈 엘리먼트는 허용 하지 않는다.
- 데이터 갯수가 확실하게 정해져 있고, 자주 사용된다면 List보다 Array가 더 효율적이다.
리스트 장점
- 빈틈없는 데이터의 적재 - 추가/삭제가 빈번하게 일어나는 상황에서 쓰기 좋다.
- 처음, 끝, 중간에 엘리먼트를 추가/삭제 하는것, 리스트에 데이터가 존재하는지 체크 하는것과 같은 기능을 제공
- 리스트의 모든 데이터에 접근 할 수 있다.
리스트 단점
- 순차성을 보장하지 않기 때문에 Cash hit가 어렵다.
- 정해져있는 크기가 변하지 않는다면, Array에 비해 효율적이지 못하다
'개발 > C++' 카테고리의 다른 글
안전한 정수 연산을 위해 SafeInt 를 써보자 (0) | 2020.07.13 |
---|---|
VS 2017 환경에서 glog 설치 및 적용 방법 (0) | 2020.07.09 |
[EC++] #define 대신 const, enum, inline을 사용해야 하는 이유 (0) | 2020.02.11 |
[EC++] 용어 정리 ( 선언, 정의, 기본생성자, 복사생성자, 초기화, 복사대입연산자 등 ) (0) | 2020.02.10 |
[C++] const 포인터 (0) | 2020.02.07 |
댓글