본문 바로가기

STL

list와 vector의 차이

기술 면접 때 나온 질문은 아니지만 복습하면 좋을 것 같아서 정리해봅니다.

 

1. 중간 데이터 삭제 시

 

벡터 - 해당 원소 뒤의 원소들을 모두 한 칸씩 앞으로 이동하는 작업을 수행하므로 속도가 느리다.

리스트 - 해당 원소의 앞 뒤의 노드들을 상호 연결하는 과정만 수행하므로 속도가 빠르다.

 

 

2. 메모리 저장 위치

 

벡터 - 메모리의 한 공간에 연속적으로 값이 할당된다.

리스트 - 메모리의 여러 부분에 값이 할당되고 포인터로 서로를 연결하는 구조이다.

 

 

3. 랜덤 접근

 

벡터 - 해당 위치에 바로 접근할 수 있다.

리스트 - 반복문으로 해당 원소가 있는 위치까지 순차 접근을 해야한다.

 

 

공통점

 

1. 크기 변경 가능

2. 순차 접근 가능

'STL' 카테고리의 다른 글

Stack과 Queue의 차이  (0) 2020.02.16
데이터를 찾을 때 hash와 array 어떤게 더 빠를까  (0) 2020.02.15
hash를 사용하는 경우  (0) 2020.02.15
int array와 vector의 차이  (0) 2020.01.24
int array와 list의 차이  (0) 2020.01.24