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 |