- 리스트는 연속적인 컨테이너인 반면 벡터는 비연속적인 컨테이너입니다. 즉, 리스트는 요소를 연속적인 메모리에 저장하고 벡터는 비연속적인 메모리에 저장합니다.
- 벡터 중간에 삽입하고 삭제하는 것은 모든 요소를 이동하는데 많은 시간이 걸리기 때문에 비용이 매우 많이 듭니다. Linklist는 이 문제를 극복하고 list 컨테이너를 사용하여 구현됩니다.
- List는 양방향을 지원하며 삽입 및 삭제 작업을 위한 효율적인 방법을 제공합니다.
- 벡터는 무작위 액세스를 지원하는 반면 목록 요소는 순차적으로 액세스되므로 목록의 순회 속도가 느립니다.
목록용 템플릿
#include #include using namespace std; int main() { list l; }
정수 유형 값의 빈 목록을 생성합니다.
매개변수를 사용하여 목록을 초기화할 수도 있습니다.
#include #include using namespace std; int main() { list l{1,2,3,4}; }
목록은 두 가지 방법으로 초기화될 수 있습니다.
list new_list{1,2,3,4}; or list new_list = {1,2,3,4};
C++ 목록 함수
다음은 목록의 멤버 함수입니다.
방법 | 설명 |
---|---|
끼워 넣다() | 반복자가 가리키는 위치 앞에 새 요소를 삽입합니다. |
push_back() | 벡터 끝에 새 요소를 추가합니다. |
push_front() | 전면에 새로운 요소를 추가합니다. |
팝백() | 마지막 요소를 삭제합니다. |
팝프론트() | 첫 번째 요소를 삭제합니다. |
비어 있는() | 목록이 비어 있는지 여부를 확인합니다. |
크기() | 목록에 있는 요소의 수를 찾습니다. |
최대_크기() | 목록의 최대 크기를 찾습니다. |
앞쪽() | 목록의 첫 번째 요소를 반환합니다. |
뒤쪽에() | 목록의 마지막 요소를 반환합니다. |
교환() | 두 목록의 유형이 동일한 경우 두 목록을 바꿉니다. |
뒤집다() | 목록의 요소를 반대로 바꿉니다. |
종류() | 목록의 요소를 오름차순으로 정렬합니다. |
병합() | 두 개의 정렬된 목록을 병합합니다. |
접착() | 호출 목록에 새 목록을 삽입합니다. |
고유한() | 목록에서 중복된 요소를 모두 제거합니다. |
크기 조정() | 목록 컨테이너의 크기를 변경합니다. |
양수인() | 목록 컨테이너에 새 요소를 할당합니다. |
위치() | 지정된 위치에 새 요소를 삽입합니다. |
emplace_back() | 벡터 끝에 새 요소를 삽입합니다. |
emplace_front() | 목록의 시작 부분에 새 요소를 삽입합니다. |