English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ List(리스트)

  • 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};

C ++리스트 함수

아래는 리스트의 멤버 함수입니다:

메서드설명
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()그것은 새로운 요소를 목록의 시작에 삽입합니다.