1.6.2 연습 문제 5: 기본적인 사용자 정의 컨테이너 만들기
이번 연습 문제에서는 std::forward_list와 유사하면서 더 많은 기능을 제공하는 사용자 정의 컨테이너를 만들어보겠습니다. 먼저 singly_ll이라는 이름의 기본적인 컨테이너 클래스를 구현하고 여러 기능을 추가해보겠습니다.
1. 필요한 헤더 파일을 포함하고, singly_ll 구현에 필요한 단일 노드 클래스 singly_ll_node를 정의합니다.
#include <iostream>
#include <algorithm>
struct singly_ll_node
{
int data;
singly_ll_node* next;
};
2. singly_ll 클래스를 구현합니다. 이 클래스는 singly_ll_node를 사용하는 연결 리스트 클래스입니다.
class singly_ll
{
public:
using node = singly_ll_node;
using node_ptr = node*;
private:
node_ptr head;