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

C ++ STLでunique()を一覧表示します


STLのC++で機能リストunique()関数を表示するタスクが与えられています。

STLのリストとは

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

ユニークなもの()

リストunique()は、リスト内の重複する要素をすべて削除するために使用されます。

構文

list_name.unique(binarypredicate name)

バイナリ述語の構文

ブール名(data_type a、data_type b)

パラメータ

この関数は、要素が等しいものとして扱われる必要がある場合にtrueを返すバイナリ述語である単一のパラメーターを受け入れます。

入力 リスト− 2 2 6 7 9 9 9 10 5 5

出力 新しいリスト− 2 5 6 7 9 10

入力 リスト− 3.14 5.56 7.62 9.00 0.45 7.62 9.00 7.62 0.45 3.00

出力 新しいリスト− 0.45 3.00 3.14 5.56 7.62 9.00

アプローチに従うことができます

  • まず、バイナリ述語関数を作成します。

  • 次に、リストを初期化します。

  • 次に、unique()関数を定義します。

  • 次に、独自の操作の後にリストを印刷します。

上記のアプローチを使用することで、リストから重複する要素を削除できます。

/ / C++ code to demonstrate the working of list unique( ) function in STL
#include <iostream.h>
#include<list.h>
Using namespace std;
/ / function for binary predicate
Bool cmp(int a, int b){
   Return (abs(a) == abs(b))
}
int main ( ){
   List<int> list = { 13, 14, 13, 19, 20, 19, 15, 19, 20, 15, 15 };
   / / print the list
   cout<< “ Elements in List: “;
   for( auto x = List.begin( ); x != List.end( ); ++x)
      cout<< *x << “ “;
   / / declaring unique( ) function
   list.unique(cmp);
   / / printing new list after unique operation
   cout<< “List after unique operation: “;
   for( x=list.begin( ); x != list.end( ); ++x)
      cout<< “ “<<*x;
   return 0;
}

出力

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

Input - Element in List : 13 14 13 19 20 19 15 19 20 15
Output - List after unique operation : 13 14 15 19 20

/ / C++ code to demonstrate the working of list unique( ) function in STL
#include<iostream.h>
#include<list.h>
Using namespace std;
/ / function for binary predicate
Bool cmp(float a, float b){
   Return (abs(a) == abs(b))
}
int main ( ){
   List <float>t; list = { 3.14, 5.56, 7.62, 9.00, 0.45, 7.62, 9.00, 7.62, 0.45, 3.00 };
   / / print the list
   cout<< “ Elements in List: “;
   for( auto x = List.begin( ); x != List.end( ); ++x)
      cout<< *x << “ “;
   / / declaring unique( ) function
   list.unique(cmp);
   / / printing new list after unique operation
   cout<< “List after unique operation: ”;
   for( x=list.begin( ); x != list.end( ); ++x)
      cout<< “ “<<*x;
   return 0;
}

出力

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

Input - Element in List: 3.14 5.56 7.62 9.00 0.45 7.62 9.00 7.62 0.45 3.00
Output - List after unique operation: 0.45 3.00 3.14 5.56 7.62 9.00

  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()関数を使用してリストの最後の値を見つけ