C++ - STL List

1 minute read

STL List

  • 생성 및 초기화

      #include <list>
      using namespace std;
    
      list<int> mList; // 선언
      list<int> mList(n); // n개를 0으로 초기화
      list<int> mList(n, m); // n개를 m으로 초기화
      list<int> mList1 = { 1,2,3,4,5 }; // {1,2,3,4,5}로 초기화
      list<int> mList2 (mList1); // mList1 복사해서 mList2 초기화
    
  • 접근

      list<int> mList = { 1,2,3,4,5 }; // {1,2,3,4,5}로 초기화
    
      mList.front() = 0; // 맨 앞 요소 접근 {0,2,3,4,5}
      mList.back() = 10; // 맨 뒤 요소 접근 {0,2,3,4,10}
    
  • 추가 및 제거

      list<int> mList = { 1,2,3,4,5 }; // {1,2,3,4,5}로 초기화
    	
      mList.push_back(6); // 마지막에 6 추가 {1,2,3,4,5,6}
      mList.pop_back(); // 마지막 요소 삭제 {1,2,3,4,5}
    
      mList.push_front(0); // 0 번째 자리에 6 추가 {0,1,2,3,4,5}
      mList.pop_front(); // 0 번째 요소 삭제 {1,2,3,4,5}
    	
      list<int>::iterator it = mList.begin();
      it++; // it points now to number 2
    
      mList.insert(it, 10); // it 앞에 10 추가 {1,10,2,3,4,5}
    
      //it points now to number 2
      mList.insert(it, 2, 20); // it 앞에 20 2번 추가 {1,10,20,20,2,3,4,5}
    
      mList.clear(); // 전체 요소 제거
    
    
  • iterator

      list<int> mList = { 1,2,3,4,5 }; // {1,2,3,4,5}로 초기화
      list<int>::iterator it;
    	
      for (it = mList.begin(); it != mList.end(); it++)
          cout << *it << endl;
    
  • for

      list<int> mList = { 1,2,3,4,5 }; // {1,2,3,4,5}로 초기화
    	
      for (int e : mList)
          cout << e << endl;
    
  • 정렬

      bool desc(int a, int b) { return a > b; }
    	
      list<int> mList = { 1,9,3,6,2,1,7 };
    
      // 오름차순
      mList.sort();
      // {1,1,2,3,6,7,9}
    
      // 내림차순
      mList.sort(desc);
      // {9,7,6,3,2,1,1}
    	
      // 역순
      mList.reverse();
      // {1,1,2,3,6,7,9}
    
  • 중복 제거

      list<int> mList = { 1,1,1,2,3,3,4,6,6,9,9,9 };
      mList.erase(unique(mList.begin(), mList.end()), mList.end());
      for (int e : mList)
          cout << e << endl;
      // {1, 2, 3, 4, 6, 9}
    
  • cplusplus std::list::insert
  • cplusplus std::list

Categories:

Updated:

Leave a comment