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

C++ STLのmap::rbegin()関数とは?構文・戻り値・使用例を解説

本記事では、C++ STLにおけるmap::rbegin()関数の動作、構文、そして具体的な使用例について詳しく解説します。

C++ STLにおけるmap(マップ)とは?

mapは連想コンテナの一種で、キー(key)とマップされた値(mapped value)のペアからなる要素を、特定の順序で格納できるコンテナです。mapコンテナ内部では、データが常にキーに基づいて自動的にソートされて管理されます。また、格納された各要素には、それぞれ一意なキーを通じてアクセスします。

map::rbegin()とは?

map::rbegin()は、C++ STLに標準で用意されている組み込み関数であり、<map>ヘッダーファイル内で定義されています。rbegin()は「reverse begin(逆順の先頭)」を意味し、begin()の逆の役割を果たす関数です。この関数は、mapコンテナの最後の要素を指すリバースイテレータを返します。

構文

Map_name.rbegin();

パラメータ

この関数は引数(パラメータ)を受け取りません。

戻り値

mapコンテナの最後の要素を指すリバースイテレータを返します。

使用例

入力

map<char, int> newmap;
newmap['a'] = 1;
newmap['b'] = 2;
newmap['c'] = 3;
newmap.rbegin();

出力

c:3

サンプルコード

#include <bits/stdc++.h>
using namespace std;
int main() {
    map<int, int> TP_Map;
    TP_Map.insert({3, 50});
    TP_Map.insert({2, 30});
    TP_Map.insert({1, 10});
    TP_Map.insert({4, 70});
    // map::rbeginを使って最後の要素を取得
    auto temp = TP_Map.rbegin();
    cout<<"First element is: "<<temp->first << " -> " << temp->second;
    cout<<"\nTP Map is : \n";
    cout << "MAP_KEY\tMAP_ELEMENT\n";
    for (auto i = TP_Map.rbegin(); i!= TP_Map.rend(); i++) {
        cout << i->first << "\t" << i->second << endl;
    }
    return 0;
}

出力

First element is: 4 -> 70
TP Map is:
MAP_KEY    MAP_ELEMENT
4           70
3           50
2           30
1           10
  1. C++ STLのiswblank()関数とは?構文・戻り値・サンプルコードを徹底解説

    C++のiswblank()関数は、指定されたワイド文字(wide character)が空白文字(ブランク)であるかどうかを判定するための関数です。C言語では「ctype.h」ヘッダーファイルに、C++標準テンプレートライブラリ(STL)では「cctype」ヘッダーファイルに定義されています。 iswblank()関数の構文 int iswblank(wint_t ch) 戻り値: 引数に渡された文字が空白文字であれば0以外の値を返し、空白文字でなければ0を返します。 パラメータ: ch ― 空白文字かどうかを判定する対象の文字です。 使用例 入力: string str = I Love

  2. C++ STLのセット(set)とマップ(map)とは?違いと基本的な使い方を解説

    セット(std::set)とは セット(Set)は抽象データ型の一種で、要素の値そのものが識別子として機能するため、すべての要素が一意である必要があります。一度セットに追加した要素の値を直接変更することはできませんが、該当する要素を削除してから、変更後の値を新たに挿入し直すことは可能です。 マップ(std::map)とは マップ(Map)は、要素を「キー」と「値」のペアとして格納する連想コンテナです。各要素はキー値(key)とマップ値(mapped value)を持ち、同一のキー値を持つ要素が複数存在することはありません。 以上の説明から、両者の違いは次のように整理できます。 セット: