본문 바로가기
Baekjoon/[정리] C++ 자료구조 및 꿀팁

[C++/자료구조] list std

by 해적거북 2021. 7. 26.
728x90

● 참고한 링크

 

● 헤더

include <list>

 

● 생성자

list<[Data Type]> [Variable Name];

 

list lt2(lt1);

// lt2는 lt1 list를 복사해서 생성

 

 

===멤버 함수===

 

● list.assign( n , element )

: element값을 가지는 n개 노드 할당

 

● list.size( )

: list의 갯수 반환

 

● list.front( )

: 첫 번째 노드 반환 + 참조

 

● list.back( )

: 마지막 노드 반환 + 참조

 

● list.begin( )

: 첫 번째 노드 가리킴 (iterator와 사용)

: list<[Data Type]>::iterator it;

: it = list.begin();

 

● list.end( )

: '마지막의 다음' 번째 노드 가리킴 (iterator와 사용)

: list<[Data Type]>::iterator it;

: it = list.end();

 

● list.rbegin( )

: 마지막 번째 노드 가리킴 (iterator와 사용)

: list<[Data Type]>::iterator it;

: it = list.rbegin();

 

● list.rend( )

: '첫 번째의 앞' 노드 가리킴 (iterator와 사용)

: list<[Data Type]>::iterator it;

: it = list.rend();

 

● list.push_front( element )

: 맨 앞에 element 노드 추가

 

● list.pop_front( )

: 맨 앞 노드 삭제

 

● list.push_back( element )

: 맨 뒤에 element 노드 추가

 

● list.pop_back( )

: 맨 뒤 노드 삭제

 

● list.insert( iterator , element )

: iterator가 가리키는 위치에 노드 element 추가

: 추가한 element 노드를 가리키는 iterator 반환

 

● list.erase( iterator )

: iterator가 가리키는 노드 삭제

: '삭제한 노드의 다음 노드'를 가리키는 iterator 반환

: iterator = list.erase(iterator);

 

● list.remove( element )

: list 내의 element와 같은 노드 모두 제거

 

● list.remove_if( func_if )

: func_if 를 만족하는 노드 모두 제거

 

● list.reverse( )

: list의 순서 뒤집기

 

● list.sort( )

: 오름차순으로 정렬

 

● list1.merge( list2 )

: list2 를 list1 에 합병 + 정렬 (오름차순)

: merge 후 list2.size() 는 0이 됨

728x90

'Baekjoon > [정리] C++ 자료구조 및 꿀팁' 카테고리의 다른 글

[C++/자료구조] pair std  (0) 2021.07.27
[C++/자료구조] deque std  (0) 2021.07.26
[C++/자료구조] queue std  (0) 2021.07.26
[C++ 자료구조] vector std  (0) 2021.07.26
[C++ 자료구조] stack std  (0) 2021.07.23
[C++] 꿀팁 스킬  (0) 2021.07.23

댓글