자료구조

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() 함수의 기능이 제공되지 않으며 과 첫번째 주소에만 직접 접근이 가능하다.

 

그래서 이 컨테이너를 적절히 이용하기 위해선 삽입과 삭제 또는 리스트 반전, 분할이 필요한 경우에 써야만 제대로 활용이 가능하다.