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

C++でのSetとUnOrderSetの違い


C ++では、SetとUnOrderSetの両方が、簡単にアクセスして挿入できるようにデータを格納するために使用されるデータ構造のタイプです。これら両方のデータ構造の特性に基づいて、SetとUnOrderSetを区別できます

SetとUnOrderSetの重要な違いは次のとおりです-

Sr。いいえ。 キー セット UnOrderSet
1 定義 Set in C ++は、データをキーと値のペアで格納し、要素の値によって識別されるため、各値要素が一意である必要がある連想コンテナの一種として定義できます。 一方、UnOrderSetはC ++ STL(標準テンプレートライブラリ)の一部であり、ソートされたキーと値のペアを格納するSetのような連想コンテナとして定義されますが、ソートされた順序でデータを格納するSetとは異なりUnOrderSetはソートされた順序ではなくデータを格納します。
2 並べ替え セットデータの場合、ソートされた順序で保存されます。 一方、UnOrderSetの場合、データは並べ替えられた順序で保存されません。
3 重複する値 [セット]で重複する値を保存することはできません。 一方、UnOrderSetの場合、重複する値は破棄されます。
4 実装 セットは二分探索木を使用して実装されます。 一方、UnOrderedSetはハッシュテーブルを使用して作成されます

設定

#include
#include
using namespace std;
main() {
   int data[15] = {11, 55, 22, 66, 33, 22, 11, 44, 77, 88, 66, 99, 66, 23, 41};
   set my_set;
   for(int i = 0; i<15; i++) { my_set.insert(data[i]); }
   set::iterator it;
   for(it = my_set.begin();
   it != my_set.end(); it++) {
      cout << "Item: " << *it << endl;
   }
}

出力

Item: 11 Item: 22 Item: 23 Item: 33 Item: 41 Item: 44 Item: 55 Item: 66 Item: 77 Item: 88 Item: 99

UnOrderSet

#include
#include using namespace std;
main() {
   int data[15] = {11, 55, 22, 66, 33, 22, 11, 44, 77, 88, 66, 99, 66, 23, 41};
   unordered_set my_set; for(int i = 0; i<15; i++) {
   my_set.insert(data[i]);
   }
   unordered_set::iterator it;
   for(it = my_set.begin(); it != my_set.end(); it++) {
      cout << "Item: " << *it << endl;
   }
}

出力

Item: 11
Item: 55
Item: 22
Item: 66
Item: 33
Item: 44
Item: 77
Item: 88
Item: 99
Item: 23
Item: 41

  1. C++文字列定数と文字定数の違い

    C ++では、一重引用符で囲まれた文字は文字リテラルです。文字型です。たとえば、「a」は、ASCIIベースのシステムでは値97のchar型です。 二重引用符で囲まれた1文字または文字列は、文字列リテラルを表します。これはconstchar[]型であり、文字列の長さ+1のサイズの配列を参照します。その余分な文字は文字列の終わりを示すためにあります。 文字列リテラルは、「abcdefg」のように任意の長さにすることができます。文字リテラルには、ほとんどの場合、1文字だけが含まれます。これらが印刷されるとき、文字列リテラルは、文字列で最初の\0またはNULL文字が検出されるまで印刷されます。

  2. Javaでのリストとセットの違い

    両方のインターフェイスの一覧表示と設定は、コレクションフレームワークに属しています。どちらのインターフェースもコレクションインターフェースを拡張します。これらは両方とも、オブジェクトのコレクションを単一のユニットとして格納するために使用されます。 jdk1.2より前は、オブジェクトを単一のユニットとしてグループ化するために、配列、ベクトル、およびハッシュテーブルを使用していました。 Sr。いいえ。 キー リスト 設定 1 位置アクセス リストは、コレクション内の要素への位置アクセスを提供します。 Setは、コレクション内の要素への位置アクセスを提供しません