[C++] 배열을 리스트(list)로 변환

C++에서 배열을 std::list로 변환하는 방법을 소개합니다.

1. list 생성자를 이용한 방법

list 생성자에 std::begin()std::end()를 이용하여 배열 요소들의 범위를 입력하면, 해당 요소들이 리스트에 추가됩니다.

아래와 같이 배열을 list로 변환할 수 있습니다.

#include <iostream>
#include <list>

int main() {

    int arr[] = {1, 2, 3, 4};

    std::list<int> list(std::begin(arr), std::end(arr));

    for (int i: list) {
        std::cout << i << ' ';
    }

    return 0;
}

Output:

1 2 3 4

2. insert()를 이용한 방법

list::insert(position, first, last)는 position 위치 부터 first와 last 범위의 배열 요소들을 추가합니다. 이것을 이용하여 배열의 모든 요소들을 리스트에 추가할 수 있습니다.

아래와 같이 insert()로 배열을 리스트로 변환할 수 있습니다.

#include <iostream>
#include <list>

int main() {

    int arr[] = {1, 2, 3, 4};

    std::list<int> list;

    list.insert(list.begin(), std::begin(arr), std::end(arr));

    for (int i: list) {
        std::cout << i << ' ';
    }

    return 0;
}

Output:

1 2 3 4

3. for loop를 이용한 방법

아래와 같이 반복문과 list::push_back()을 이용하여 배열의 모든 요소들을 리스트에 추가할 수 있습니다.

#include <iostream>
#include <list>

int main() {

    int arr[] = {1, 2, 3, 4};

    std::list<int> list;

    for (int i: arr) {
        list.push_back(i);
    }

    for (int i: list) {
        std::cout << i << ' ';
    }

    return 0;
}

Output:

1 2 3 4
Loading script...
codechachaCopyright ©2019 codechacha