C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++ STLのsplice()関数を一覧表示します


この記事では、C++STLでのlist::splice()関数の動作、構文、および例について説明します。

STLのリストとは何ですか?

リストは、任意の場所で一定時間の挿入と削除を順番に実行できるデータ構造です。リストは、二重にリンクされたリストとして実装されます。リストを使用すると、連続しないメモリ割り当てが可能になります。 Listは、配列、ベクトル、および両端キューよりも、コンテナー内の任意の位置で要素の挿入抽出と移動を実行します。リストでは、要素への直接アクセスは遅く、リストはforward_listに似ていますが、フォワードリストオブジェクトは単一のリンクリストであり、フォワードでのみ繰り返すことができます。

list ::splice()とは何ですか?

list ::splice()は、ヘッダーファイルで宣言されているC++STLの組み込み関数です。 splice()は、特定の位置にある1つのリストコンテナから別のリストコンテナに要素を転送するために使用されます。この関数は、コンテンツをリストに挿入し、それらのコンテンツを他のリストから削除して、両方のリストのサイズを変更します。

構文

This function’s syntax can be defined as 3 ways:
list1.splice(position, list2);
list1.splice(position, list2, i);
list1.splice(position, list2, first, last);

パラメータ

  • 位置 −要素を転送するリストの位置。

  • list2 −要素を転送する場所のリスト。

  • i:これは、転送する要素からlist2の最後までのlist2の位置を指定するイテレータです。

  • 最初、最後 −これらは両方とも、要素の転送元となるlist2の開始位置と終了位置を定義するイテレータです。

Input: list<int> List_container= { 10, 11, 13, 15};
      list<int> List2 = {1, 2, 3, 4};
      List_container.splice(2, List2);
Output:
      List_container= 10 11 13 15 3 4
      List2 = 1 2

戻り値

この関数は、リストの最後の要素を指す逆イテレータを返します。逆イテレータは、逆方向に移動するイテレータです。

#include <bits/stdc++.h>
using namespace std;
int main(){
   list<int> myList_1 = { 10, 20, 30, 40 };
   list<int> myList_2 = { 50, 60 };
   list<int>::iterator i;
   i = myList_2.begin();
   myList_1.splice(myList_1.end(), myList_2, i);
      cout<<"list after splice operation" << endl;
   for (auto temp : myList_1)
      cout << temp << " ";
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

list after splice operation
10 20 30 40 50

#include <bits/stdc++.h>
using namespace std;
int main(){
   list<int> myList_1 = { 10, 20};
   list<int> myList_2 = { 30, 40, 50};
   list<int> myList_3 = {60};
   myList_1.splice(myList_1.begin(), myList_2);
      cout << "list 1 after splice operation" << endl;
   for (auto x : myList_1)
      cout << x << " ";
   myList_3.splice(myList_3.end(), myList_1);
      cout << "\nlist 3 after splice operation" << endl;
   for (auto x : myList_3)
      cout << x << " ";
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

list 1 after splice operation
30 40 50 10 20
list 1 after splice operation
60 30 40 50 10 20

  1. C++STLのリスト逆関数

    この記事では、C++でのlist::reverse()関数の動作、構文、および例について説明します。 STLのリストとは リストは、任意の場所で一定時間の挿入と削除を順番に実行できるデータ構造です。リストは、二重にリンクされたリストとして実装されます。リストを使用すると、連続しないメモリ割り当てが可能になります。リストは、配列、ベクトル、および両端キューよりも、コンテナー内の任意の位置で要素の挿入抽出と移動を実行します。リストでは、要素への直接アクセスは遅く、リストはforward_listに似ていますが、フォワードリストオブジェクトは単一のリンクリストであり、フォワードでのみ繰り返すことが

  2. C ++STLのlistback()関数

    与えられたのは、c++でのlistback()関数の動作を示すタスクです。 list ::back()関数は、C++標準テンプレートライブラリの一部です。リストの最後の要素を表示するために使用されます。 この関数を呼び出す前に、ヘッダーファイルをインクルードする必要があります。 構文 List_Name.back(); パラメータ この関数はパラメータを受け入れません。 戻り値 この関数は、リストの最後の要素の値を返します。 例 Input: Lt.assign(3,10) Lt.back() Output: 10 説明 −次の例は、back()関数を使用してリストの最後の値を見つけ