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 |