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

C ++標準テンプレートライブラリ(STL)のマルチセット


このチュートリアルでは、C ++ STL(標準テンプレートライブラリ)のマルチセットを理解するためのプログラムについて説明します。

マルチセットは、セットによく似た連想コンテナです。マルチセットが保持する1つの違いは、重複する値を含めることもできることです。

#include <iostream>
#include <set>
#include <iterator>
using namespace std;
int main(){
   multiset <int, greater <int> > gquiz1;
   //inserting values
   gquiz1.insert(40);
   gquiz1.insert(30);
   gquiz1.insert(60);
   gquiz1.insert(20);
   gquiz1.insert(50);
   gquiz1.insert(50);
   gquiz1.insert(10);
   multiset <int, greater <int> > :: iterator itr;
   cout << "\nThe multiset gquiz1 is : ";
   for (itr = gquiz1.begin(); itr != gquiz1.end(); ++itr)
   {
      cout << '\t' << *itr;
   }
   cout << endl;
   multiset <int> gquiz2(gquiz1.begin(), gquiz1.end());
   cout << "\nThe multiset gquiz2 after assign from gquiz1 is : ";
   for (itr = gquiz2.begin(); itr != gquiz2.end(); ++itr)
   {
      cout << '\t' << *itr;
   }
   cout << endl;
   cout << "\ngquiz2 after removal of elements less than 30 : ";
   gquiz2.erase(gquiz2.begin(), gquiz2.find(30));
   for (itr = gquiz2.begin(); itr != gquiz2.end(); ++itr)
   {
      cout << '\t' << *itr;
   }

   int num;
   num = gquiz2.erase(50);
   cout << "\ngquiz2.erase(50) : ";
   cout << num << " removed \t" ;
   for (itr = gquiz2.begin(); itr != gquiz2.end(); ++itr)
   {
      cout << '\t' << *itr;
   }
   cout << endl;
   cout << "gquiz1.lower_bound(40) : "<< *gquiz1.lower_bound(40) << endl;
   cout << "gquiz1.upper_bound(40) : "<< *gquiz1.upper_bound(40) << endl;
   cout << "gquiz2.lower_bound(40) : "<< *gquiz2.lower_bound(40) << endl;
   cout << "gquiz2.upper_bound(40) : "<< *gquiz2.upper_bound(40) << endl;
   return 0;
}

出力

The multiset gquiz1 is : 60505040302010

The multiset gquiz2 after assign from gquiz1 is : 10203040505060

gquiz2 after removal of elements less than 30 : 3040505060
gquiz2.erase(50) : 2 removed 304060
gquiz1.lower_bound(40) : 40
gquiz1.upper_bound(40) : 30
gquiz2.lower_bound(40) : 40
gquiz2.upper_bound(40) : 60

  1. C ++標準テンプレートライブラリ(STL)の優先キュー

    優先度キューは、優先度に基づいて要素の挿入と削除をサポートする優先度の高い要素のコレクションを格納するための抽象データ型です。つまり、優先度の高い要素はいつでも削除できます。優先度付きキューは、スタック、キュー、リストなどの場所に関して要素を線形に格納しません。優先度付きキューADT(抽象データ型)は、優先度に基づいて要素を格納します。 優先キューは次の機能をサポートします − サイズ() −優先キュー内の要素数を返すため、優先キューのサイズを計算するために使用されます。 Empty() −優先キューが空の場合はtrueを返し、そうでない場合はfalseを返します 挿入(要素) −

  2. C ++の標準ライブラリとは何ですか?

    C ++プログラミング言語では、C ++標準ライブラリはクラスと関数のコレクションであり、コア言語とC++ISO標準自体の一部で記述されています。 C ++標準ライブラリは、いくつかの汎用コンテナ、これらのコンテナを利用および操作するための関数、関数オブジェクト、汎用文字列とストリーム(インタラクティブおよびファイルI / Oを含む)、いくつかの言語機能のサポート、および正方形の検索などの日常的なタスクのための関数を提供します数値のルート。以下は、C++標準ライブラリの機能の一部です- ストリーム- これらのライブラリは、C++で使用可能なさまざまなタイプのストリームを処理するために使用され