자료구조
3. std::forward_list
코코팡
2022. 7. 12. 21:01
std::forward_list 란?
앞에 배열과 벡터의 문제점 중 하나인 데이터 중간에 자료를 추가하거나 삭제하는 과정에서 많은 시간이 발생한다.
이를 해결하고자 forward_list 라는 연결 리스트 컨테이너를 이용하면 시간 복잡도 O(1)에서 해결이 가능하다.
그렇다면 사용법은?
벡터와 쓰임새가 비슷하다.
#include<iostream>
#include<forward_list>
using namespace std;
int main() {
forward_list<int> f_list;
}
마찬가지로 크기 또한 동적으로 할당이 가능하다.
단점으로는 전체 리스트의 크기 반환 기능, back() 함수의 기능이 제공되지 않으며 과 첫번째 주소에만 직접 접근이 가능하다.
그래서 이 컨테이너를 적절히 이용하기 위해선 삽입과 삭제 또는 리스트 반전, 분할이 필요한 경우에 써야만 제대로 활용이 가능하다.