[STL] List 리스트
List 리스트
자료구조 중 Doubly Linked list를 템플릿으로 구현 된 노드 기반 컨테이너이다.
STL list는 연결 리스트를 따로 만들지 않고 사용할 수 있다.
특징
1. 저장할 데이터 개수가 가변적일 때 유연하다. vector, deque 같이 배열 기반이 아니라 노드 기반이라 유연하다.
2. 중간에 데이터 삽입/삭제가 빠르다.
3. 배열은 랜덤 접근이 가능하나 list는 순차 접근만 가능하다.
#include <list>
list <int> l; int 자료형 list l 선언
l.push_front(a) : 첫 번째 위치에 a 데이터 추가
l.pop_front() : 첫 번째 위치 데이터 삭제
l.push_back(a) : 마지막 위치에 a 데이터 추가
l.pop_back() : 마지막 위치 데이터 삭제
l.front() : 첫 번째 위치 데이터 참조 리턴
l.back() : 마지막 위치 데이터 참조 리턴
l.clear() : 모든 데이터 삭제
l.empty() : 비었으면 true, 데이터가 있으면 false 리턴
l.size() : 데이터 개수 리턴
l.assign(3,0) : 0으로 초기화된 3개의 원소 할당
l.rbegin() : reverse begin
list의 특징적인 함수
l.remove(a) : a와 같은 원소 모두 삭제
l.remove_if(조건) : 조건에 해당하는 원소 모두 삭제
l. sort() : 오름차순 정렬
l.splice(it,l2) : l의 it이 가리키는 곳에서 l2의 모든 원소를 잘라 붙임
l.splice(it,l2,it2) : l의 it이 가리키는 곳에서 l2의 it2가 가리키는 원소를 잘라 붙임
l.unique() : 인접한 원소가 같으면 하나만 남기고 삭제
l.merge(l2) : l2를 l로 합병 정렬(오름차순)
작성자 : 히더