logo

Forward List in C++ |セット 2 (関数の操作)

C++ のフォワード リスト |セット 1 (概要と重要な機能) この記事では、その他の機能について説明します。 前方リストで使用できる、挿入と削除以外の操作の一部は次のとおりです。 

1. マージ() :- この関数は、ある前方リストを別のリストとマージするために使用されます。両方のリストがソートされている場合、返される結果のリストもソートされます。 



2. 演算子「=」 :- この演算子は、1 つの前方リストを別のリストにコピーします。この場合に作成されるコピーはディープコピーです。 

CPP
// C++ code to demonstrate the working of  // merge() and operator=  #include    #include  using namespace std;  int main()  {   // Initializing 1st forward list   forward_list<int> flist1 = {1 2 3};     // Declaring 2nd forward list   forward_list<int> flist2;     // Creating deep copy using '='   flist2 = flist1;     // Displaying flist2   cout << 'The contents of 2nd forward list'  ' after copy are : ';   for (int &x : flist2)   cout << x << ' ';   cout << endl;     // Using merge() to merge both list in 1   flist1.merge(flist2);     // Displaying merged forward list   // Prints sorted list   cout << 'The contents of forward list '  'after merge are : ';   for (int &x : flist1)   cout << x << ' ';   cout << endl;     return 0;  }  

出力:

b+ 木
The contents of 2nd forward list after copy are : 1 2 3 The contents of forward list after merge are : 1 1 2 2 3 3 

時間計算量: ○(1)



補助スペース: ○(1)
  3. 選別() :- この関数は、前方リストをソートするために使用されます。 

4. 個性的() :- この関数は、複数出現する数値を削除し、一意の要素を含む前方リストを返します。この関数を正常に実行するには、前方リストをソートする必要があります。 

typescript の foreach ループ
CPP
// C++ code to demonstrate the working of  // sort() and unique()  #include    #include // for sort() and unique()  using namespace std;  int main()  {   // Initializing 1st forward list   forward_list<int> flist1 = {1 2 3 2 3 3 1};   // Sorting the forward list using sort()   flist1.sort();   // Displaying sorted forward list   cout << 'The contents of forward list after '  'sorting are : ';   for (int &x : flist1)   cout << x << ' ';   cout << endl;   // Use of unique() to remove repeated occurrences   flist1.unique();   // Displaying forward list after using unique()   cout << 'The contents of forward list after '  'unique operation are : ';   for (int &x : flist1)   cout << x << ' ';   cout << endl;   return 0;  }  

出力:



The contents of forward list after sorting are : 1 1 2 2 3 3 3 The contents of forward list after unique operation are : 1 2 3 

時間計算量: ○(1)

補助スペース: ○(1)
 

5. 逆行する() :- この関数は、前方リストを反転するために使用されます。

6. スワップ() :- この関数は、ある前方リストの内容を別のリストと交換します。 

CPP
// C++ code to demonstrate the working of  // reverse() and swap()  #include    #include // for reverse() and swap()  using namespace std;  int main()  {   // Initializing 1st forward list   forward_list<int> flist1 = {1 2 3};   // Initializing 2nd forward list   forward_list<int> flist2 = {4 5 6};   // Using reverse() to reverse 1st forward list   flist1.reverse();   // Displaying reversed forward list   cout << 'The contents of forward list after'  ' reversing are : ';   for (int &x : flist1)   cout << x << ' ';   cout << endl << endl;   // Displaying forward list before swapping   cout << 'The contents of 1st forward list '  'before swapping are : ';   for (int &x : flist1)   cout << x << ' ';   cout << endl;   cout << 'The contents of 2nd forward list '  'before swapping are : ';   for (int &x : flist2)   cout << x << ' ';   cout << endl;   // Use of swap() to swap the list   flist1.swap(flist2);   // Displaying forward list after swapping   cout << 'The contents of 1st forward list '  'after swapping are : ';   for (int &x : flist1)   cout << x << ' ';   cout << endl;   cout << 'The contents of 2nd forward list '  'after swapping are : ';   for (int &x : flist2)   cout << x << ' ';   cout << endl;   return 0;  }  

出力:

The contents of forward list after reversing are : 3 2 1 The contents of 1st forward list before swapping are : 3 2 1 The contents of 2nd forward list before swapping are : 4 5 6 The contents of 1st forward list after swapping are : 4 5 6 The contents of 2nd forward list after swapping are : 3 2 1 

時間計算量: ○(1)

補助スペース: ○(1)
 

グレーコード

7. クリア() :- この関数は、フォワード リストの内容をクリアします。この関数の後、前方リストは空になります。

  8. 空の() :- この関数は、リストが空の場合は true を返し、それ以外の場合は false を返します。 

csma と csma cd
CPP
// C++ code to demonstrate the working of  // clear() and empty()  #include    #include // for clear() and empty()  using namespace std;  int main()  {   // Initializing forward list   forward_list<int> flist1 = {1 2 3};     // Displaying forward list before clearing   cout << 'The contents of forward list are : ';   for (int &x : flist1)   cout << x << ' ';   cout << endl;     // Using clear() to clear the forward list   flist1.clear();     // Displaying list after clear() performed   cout << 'The contents of forward list after '  << 'clearing are : ';   for (int &x : flist1)   cout << x << ' ';   cout << endl;     // Checking if list is empty   flist1.empty() ? cout << 'Forward list is empty' :   cout << 'Forward list is not empty';     return 0;  }  

出力:

The contents of forward list are : 1 2 3 The contents of forward list after clearing are : Forward list is empty

時間計算量: ○(1)

補助スペース: ○(1)
forward_list に関する最近の記事