#include <list>

1. 기본형

  • list<data type> : 저장할 원소의 type 선언

2. 반복자(iterator)

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

3. 추가 / 삭제

  • push_front(element) : 리스트 제일 앞에 원소 추가
  • push_back(element) : 리스트 제일 뒤에 원소 추가
  • pop_front() : 리스트 제일 앞에 원소 삭제
  • pop_back() : 리스트 제일 뒤에 원소 삭제
  • insert(iterator, element) : iterator가 가리키는 부분 "앞"에 원소 추가
  • erase(iterator) : iterator가 "가리키는 부분"의 원소 삭제

4. 조회

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

5. 기타

  • empty() : 리스트가 비어있으면 true 아니면 false를 반환
  • size() : 리스트 원소들의 수를 반환

 

#include <iostream>
#include <list>
using namespace std;
 
int main()
{
 
    list<int> l;
 
 
    // push_back
    l.push_back(5);
    l.push_back(6);
    l.push_back(7);
    l.push_back(8);
    l.push_back(9);
    l.push_back(10);
 
 
    // pop_back
    l.pop_back();
 
 
    // push_front
    l.push_front(4);
    l.push_front(3);
    l.push_front(1);
    l.push_front(0);
 
 
    // pop_front
    l.pop_front();
 
 
    // back and front
    cout << "list front value : " << l.front() << '\n';
    cout << "list end value : " << l.back() << '\n';
 
 
    // size
    cout << "list size : " << l.size() << '\n';
 
 
    // empty
    cout << "Is it empty? : " << (l.empty() ? "Yes" : "No"<< '\n';
 
 
    // iterator
    list<int>::iterator begin_iter = l.begin(); // auto begin_iter = l.begin()도 가능
    list<int>::iterator end_iter = l.end(); // auto end_iter = l.end()도 가능
 
 
    // insert
    begin_iter++// 2번째를 가리키는 iterator
    l.insert(begin_iter, 2);
 
 
    // erase
    // end_iter이 l.end()를 가리키고 있기때문에 "--" 연산을 꼭 해야 마지막 원소를 가리킬수 있음 
    end_iter--// 마지막 원소를 가리키는 iterator
    l.erase(end_iter);
 
 
    // *iterator : 원소 접근
    cout << "element list : ";
    for(auto i = l.begin(); i != l.end(); i++)
    {
        cout << *<< " ";
    }
 
    return 0;
 
}
cs

 

출처 :

https://twpower.github.io/78-how-to-use-list-in-cpp

+ Recent posts