[C++] 配列をリストに変換する

C++で配列を std::list に変換する方法を紹介します。

1. list コンストラクタを使った方法

list コンストラクタに std::begin()std::end() を使って配列要素の範囲を入力すると、その要素がリストに追加されます。

以下のように配列をリストに変換できます。

#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
codechachaCopyright ©2019 codechacha