C++におけるリストの連結方法


  1. イテレータを使用して連結する方法:

    #include <iostream>
    #include <list>
    int main() {
    std::list<int> list1 = {1, 2, 3};
    std::list<int> list2 = {4, 5, 6};
    
    list1.insert(list1.end(), list2.begin(), list2.end());
    
    // 結果の出力
    for (int num : list1) {
        std::cout << num << " ";
    }
    
    return 0;
    }
  2. std::listsplice関数を使用する方法:

    #include <iostream>
    #include <list>
    int main() {
    std::list<int> list1 = {1, 2, 3};
    std::list<int> list2 = {4, 5, 6};
    
    list1.splice(list1.end(), list2);
    
    // 結果の出力
    for (int num : list1) {
        std::cout << num << " ";
    }
    
    return 0;
    }
  3. 範囲ベースのループを使用して要素を追加する方法:

    #include <iostream>
    #include <list>
    int main() {
    std::list<int> list1 = {1, 2, 3};
    std::list<int> list2 = {4, 5, 6};
    
    for (int num : list2) {
        list1.push_back(num);
    }
    // 結果の出力
    for (int num : list1) {
        std::cout << num << " ";
    }
    
    return 0;
    }
  4. std::copy関数を使用して要素をコピーする方法:

    #include <iostream>
    #include <list>
    #include <algorithm>
    int main() {
    std::list<int> list1 = {1, 2, 3};
    std::list<int> list2 = {4, 5, 6};
    
    std::copy(list2.begin(), list2.end(), std::back_inserter(list1));
    
    // 結果の出力
    for (int num : list1) {
        std::cout << num << " ";
    }
    
    return 0;
    }

これらはいくつかのリストの連結方法の例です。必要に応じて、これらの方法を使用してリストを連結することができます。また、これらのコード例を参考にして自分自身で実装方法を試してみることもできます。