본문 바로가기
Develop/Ps

[C++] STL list 사용법

by J-rain 2023. 10. 22.

연결리스트(list)

연결리스트는 배열의 각 요소가 값만 갖고있는 것이 아니라 다음 요소를 가리키는 포인터를 함께 가지고 있다. 이는 배열에서 중간에 추가 혹은 삭제할 때 뒤의 원소를 쭉 밀거나 뒤의 원소를 쭉 당겨와야하는 단점을 보완한 것이다. 배열의 요소들을 직접 미는 것이 아닌 포인터값만 변경해주는 것으로 임의의 위치에 추가/삭제 연산을 할 수 있다. C++에서는 list라는 자료형으로 연결리스트가 구현되어 있다.

 

 

//리스트 선언 list<int> list;

//리스트 포인터 선언 list<int>::iterator iter = list.begin();   -->>  c++11이상부터 auto iter = list.begin(); 가능

 

반복자

  • begin()  : beginning iterator 반환
  • end()     : end iterator 반환

삽입

  • push_front(element)        : 리스트 맨 앞에 원소 추가
  • push_back(element)        : 리스트 맨 뒤에 원소 추가
  • insert(iterator, element)    : iterator가 가리키는 부분의 앞에 원소 추가

삭제

  • pop_front()       : 리스트 맨 앞의 원소 삭제
  • pop_back()       : 리스트 맨 뒤의 원소 삭제
  • erase(iterator)   : iterator가 가리키는 부분의 원소 삭제

조회

  • *iterator      : iterator가 가리키는 원소에 접근
  • front()         : 첫번째 원소 반환
  • back()         : 마지막 원소 반환

기타

  • empty()       : 리스트가 비어있는지 여부
  • size()           : 리스트 사이즈 반환
  • remove(k)   : k 와 같은 원소를 모두 제거
  • remove_if(Predicate)    :단항 조건자 predicate에 해당하는 원소를 모두 제거
  • reverse()          : 원소들의 순차열을 뒤집기
  • sort()           : 모든 원소를 default(오름차순) 으로 정렬
                        : 소트의 파라미터로 이항조건자가 올수 있다. 그때는 그 기준으로 정렬
  • list2.swap(list1)      : list2와 list1을 swap

'Develop > Ps' 카테고리의 다른 글

[C++] STL fill() 함수 사용법  (0) 2023.11.01
[C++] STL find() 함수 사용법  (1) 2023.10.28
[C++] STL vector 사용법  (0) 2023.07.18
[C++] STL pair 사용법  (0) 2023.07.18
[C++] STL sort함수 사용법  (0) 2023.07.18

댓글