C++ 對映值作為使用者定義資料型別


對映是一個數據結構,它以鍵值對的形式儲存資訊。在 C++ 中,對映在 STL(標準模板庫)中定義,並且以一種有序的方式儲存鍵。

定義對映的語法−

map<key_type , value_type> map_name;

對映的這兩個資料中的任何一個的資料型別可以是任何資料型別。我們可以將任何主要資料型別或派生資料型別作為對映中的鍵或值資料型別。

我們可以將任何資料型別用作對映中鍵的資料型別。甚至可以將使用者自定義資料型別用作鍵資料型別。

現在,我們將建立一個定義了新資料型別的資料結構。並將其用作對映的鍵。

語法

struct key{
   float f;
}

在對映中使用此使用者自定義資料型別,程式設計師可以獲取對映中更有內容的資料集。一個結構可以包含任何數量的資料,甚至還可以考慮使用陣列和其他資料結構。

示例

#include <bits/stdc++.h>
using namespace std;
struct kdata {
   float id;
};
bool operator<(const kdata& t1, const kdata& t2){
   return (t1.id < t2.id);
}
int main(){
   kdata t1 = { 4.5 }, t2 = { 12.3 }, t3 = { 67.8 }, t4 = { 65.2 };
   map<kdata, char> maps;
   maps[t1] = a;
   maps[t2] = h;
   maps[t3] = m;
   maps[t4] = q;
   cout<<"The map data is ";
   for (auto x : maps)
      cout << x.first.id << " > " << x.second << endl;
   return 0;
}

輸出

The map data is
4.5 > a
12.3 > h
67.8 > m
65.2 > q

更新日期:19-Sep-2019

1K+ 瀏覽

開啟您的 事業

完成課程即可獲得認證

開始
廣告