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

【C++ STL】multisetのsize()関数をサンプルコードでわかりやすく解説

このチュートリアルでは、C++ STLにおける multisetsize() 関数について、具体的なプログラム例を交えながら詳しく解説します。

size() 関数は、指定されたコンテナ(ここでは multiset)に現在格納されている要素の総数を返すメンバ関数です。multiset は重複した値を許容する連想コンテナであるため、同じ値が複数回挿入された場合も、それぞれが個別の要素としてカウントされる点に注意してください。

サンプルコード

#include <bits/stdc++.h>
using namespace std;
int main(){
    multiset<int> s;
    s.insert(10);
    s.insert(13);
    cout << "The size of multiset: " << s.size();
    s.insert(13);
    s.insert(25);
    cout << "\nThe size of multiset: " << s.size();
    s.insert(24);
    cout << "\nThe size of multiset: " << s.size();
    return 0;
}

実行結果

The size of multiset: 2
The size of multiset: 4
The size of multiset: 5

コードの解説

このプログラムの動作を順に見ていきましょう。

まず、int 型の要素を格納する空の multiset s を宣言します。この時点でのサイズは 0 です。

次に、値 1013 を挿入します。この時点で要素は 2 個になるため、最初の出力では「2」が表示されます。

続いて、重複する値 13 と新しい値 25 を挿入します。multiset は重複を許可するため、13 は別の要素として追加され、合計で 4 個の要素が格納されます。そのため、2 回目の出力では「4」が表示されます。

最後に 24 を挿入すると、要素数は 5 になり、3 回目の出力では「5」が表示されます。

ポイントまとめ

  • size() 関数は、コンテナ内の要素数を size_t 型(符号なし整数型)で返します。
  • multiset では同一の値でも複数の要素として扱われるため、それぞれがカウントされます。
  • size() の計算量は O(1) であり、非常に高速に動作します。
  1. 【C++ STL】配列のdata()メソッドの使い方を例付きで解説

    配列とは配列とは、同じデータ型の要素を連続したメモリ領域に格納したコレクションのことです。C++標準ライブラリには、配列の機能をサポートするライブラリが数多く含まれています。その中の一つが、arrayコンテナのdata()メソッドです。C++のarray::data()は、オブジェクトの先頭要素を指すポインタを返します。これにより、配列の内部バッファへ直接アクセスしたり、連続したメモリを前提とするC言語スタイルのAPIに配列を渡したりすることができます。構文array_name.data();パラメータこの関数は、引数を受け取りません。戻り値配列の先頭要素を指すポインタを返します。戻り値の型は

  2. 【C++ STL】multisetのinsert()関数の使い方とサンプルコードを解説

    C++ STLのmultiset(マルチセット)コンテナにおけるinsert()関数は、新しい要素をコンテナへ挿入するためのメンバ関数です。単に値を指定して挿入する形式と、挿入位置のヒントとなるイテレータを指定する形式があり、状況に応じて使い分けられます。multisetは重複した値を許可し、挿入された要素は常に自動的にソートされた状態で保持されるという特徴を持っています。 使用する主なメンバ関数 ms.size() … マルチセットに現在格納されている要素数を返します。 ms.insert(値) … 指定した値をマルチセットに挿入し、挿入された要素を指すイテレータを返します。 ms.ins