글과 사진, 그리고 이야기

IE & SWCON/Data Structure (C++)

list

뱃놀이가자 2024. 2. 14. 17:24
728x90

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=257288899

 

코딩 테스트를 위한 자료 구조와 알고리즘 with C++

C++ 자료 구조부터 그리디 알고리즘, 분할 정복 알고리즘, 그래프 알고리즘, 동적 계획법과 같은 다양한 알고리즘을 설명한다. 또한, 전통적인 자료 구조와 C++ STL 클래스 구현 사이의 관계를 설명

www.aladin.co.kr

본 책을 사용하여 공부하는 내용이고 해당 글은 상업적으로 배포하고자 하지 않고 개인 공부용입니다

 

  • forward_list는 메모리를 적게 쓰고 빠른 성능을 유지하기 위함으로 매우 적은 기능만 지원함
  • 컨테이너의 크기를 얻어오고 싶다거나, 자료 구조 맨 뒤에 새로운 데이터를 추가하는 등의 기능은 매우 유용하고 빈번하게 사용되지만 forward_list에서는 지원되지 않음
  • c++에서 지원하는 std::list는 양쪽 방향으로 연결된 리스트, 즉 이중 연결 리스트(double-linked list) 구조로 되어 있으며, forward_list보다 더 많은 기능을 제공함
  • list에서는 멤버함수의 기능은 같거나 유사하며 약간의 차이가 있을 뿐임 -> _after( )로 끝나던게 끝나지 않게 됨
  • 외에도 vec, arr에서도 봤겠지만 push_back( ), emplace_back( ), pop_back( )등을 제공
std::list<int> list1 = {1, 2, 3, 4, 5};
list1.push_back(6);                   // {1, 2, 3, 4, 5, 6}
list1.insert(next(list1.begin()), 0); // {1, 0, 2, 3, 4, 5, 6}
list1.insert(list1.end(), 7);         // {1, 0, 2, 3, 4, 5, 6, 7}

 

    list1.pop_back(); // {1, 0, 2, 3, 4, 5, 6}

    std::cout << "삽입 & 삭제 후 리스트: ";
    for (auto i : list1)
        std::cout << i << " ";
}

 

 

728x90

'IE & SWCON > Data Structure (C++)' 카테고리의 다른 글

반복자  (1) 2024.02.14
forward_list  (1) 2024.02.14
vector  (2) 2024.02.07
array class  (1) 2024.02.07
연속된 자료 구조와 연결된 자료구조  (1) 2024.02.07