English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
List는 연속적인 컨테이너이며, vector는 비연속적인 컨테이너입니다. 즉, List는 요소를 연속적인 메모리에 저장하며, vector는 불연속적인 메모리에 저장합니다.
vector의 중간에 삽입 및 제거는 매우 비용이 많이 드는 작업입니다. 이는 모든 요소를 이동해야 하는 시간이 많기 때문입니다. List는 이 문제를 해결하기 위해 list 컨테이너를 사용하여 구현됩니다.
List는 양방향을 지원하며, 삽입 및 제거 작업에 효율적인 방법을 제공합니다.
리스트에서 순회하는 속도는 느리며, 이는 요소가 순서로 접근되기 때문입니다. vector는 무작위 접근을 지원합니다.
#include<iostream> #include<list> using namespace std; int main() { list<int> l; }
빈 정수 타입 값 리스트를 생성합니다.
리스트는 매개변수를 사용하여 초기화할 수도 있습니다.
#include<iostream> #include<list> using namespace std; int main() { list<int> l{1,2,3,4}; }
리스트는 두 가지 방식으로 초기화할 수 있습니다.
list<int> new_list{1,2,3,4}; 또는 list<int> new_list = {1,2,3,4};
아래는 리스트의 멤버 함수입니다:
메서드 | 설명 |
---|---|
insert() | 이터레이터가 가리키는 위치 앞에 새로운 요소를 삽입합니다. |
push_back() | 컨테이너의 마지막에 새로운 요소를 추가합니다. |
push_front() | 앞쪽에 새로운 요소를 추가합니다. |
pop_back() | 마지막 요소를 제거합니다. |
pop_front() | 첫 번째 요소를 제거합니다. |
empty() | 리스트가 비어 있는지 확인합니다. |
size() | 리스트에 존재하는 요소 수를 찾습니다. |
max_size() | 리스트의 최대 크기를 찾습니다. |
front() | 리스트의 첫 번째 요소를 반환합니다. |
back() | 리스트의 마지막 요소를 반환합니다. |
swap() | 두 리스트의 타입이 같을 때, 두 리스트를 교환합니다. |
reverse() | 리스트 요소를 역순으로 변경합니다. |
sort() | 리스트 요소를 증가하는 순서로 정렬합니다. |
merge() | 그것은 두 개의 정렬된 목록을 병합합니다. |
splice() | 그것은 새로운 목록을 호출 목록에 삽입합니다. |
unique() | 그것은 목록에서 모든 중복 요소를 제거합니다. |
resize() | 그것은 목록 컨테이너의 크기를 변경합니다. |
assign() | 그것은 새로운 요소를 목록 컨테이너에 할당합니다. |
emplace() | 그것은 지정된 위치에 새로운 요소를 삽입합니다. |
emplace_back() | 그것은 컨테이너의 끝에 새로운 요소를 삽입합니다. |
emplace_front() | 그것은 새로운 요소를 목록의 시작에 삽입합니다. |