1. 程式人生 > >set中怎麼放入結構體資料

set中怎麼放入結構體資料

#include <iostream>
#include <set>
using namespace std;
struct GenerationInfoNode{
    int iGenertionNumber;
    int iGenerationStartTsn;
    int iGenerationEndTsn;
    int iGenerationSize;
};
bool operator<(const GenerationInfoNode & x,const GenerationInfoNode & y)
{

    return x.iGenertionNumber<y.iGenertionNumber;
}
int main()
{
    set<GenerationInfoNode> s;
    GenerationInfoNode a,b,c;
    a.iGenertionNumber=1;a.iGenerationStartTsn=1;a.iGenerationEndTsn=5;a.iGenerationSize=5;
    b.iGenertionNumber=2;b.iGenerationStartTsn=6;b.iGenerationEndTsn=11;b.iGenerationSize=6;
    c.iGenertionNumber=3;c.iGenerationStartTsn=12;c.iGenerationEndTsn=19;a.iGenerationSize=8;
    s.insert(a);
    s.insert(b);
    s.insert(c);
    cout<<s.size()<<endl;
    cout << "Hello world!" << endl;
    return 0;
}

自己在做模擬的時候,需要用到set了,而且是要把結構體資料放到set中

上邊的程式碼提供了一個簡單的範例,一定要對<運算子進行過載,不然會報錯的。

相關推薦

set中怎麼放結構資料

#include <iostream> #include <set> using namespace std; struct GenerationInfoNode{ int iGenertionNumber; int iGenerat

通過std::string轉儲結構資料

在一些需要將結構體儲存起來,稍後再取出使用的情況,可以將結構體存入std::string中,之後再取出。 這樣的好處是: ①可以支援多種結構型別 ②臨時儲存資訊的資料結構不需要隨著結構體變化同步變化,避免了修改結構體時忘記修改儲存邏輯而導致的資料丟失問題 st

C++ map和set中的結構

哇,好久沒來寫部落格了。 今天是發現了一個新大陸。 是這樣的,我想隨機生成一些整數對(x,y),然後需要判斷一個數對在之前有沒生成過。直觀的做法是弄一個bool型的二維陣列,但是這樣太耗費空間了,容易造成浪費。於是我想把每個整數對放在一個結構體裡,然後將結構體作為map的k

QVector 排序結構資料 QString、int

#include <QCoreApplication> #include <vector> #include <string> #include <iostre

c++調用python系列(1): 結構作為參及返回結構

pac 格式 lob 打包成 def 程序 png 校驗 upload 最近在打算用python作測試用例以便對遊戲服務器進行功能測試以及壓力測試; 因為服務器是用c++寫的,采用的TCP協議,當前的架構是打算用python構造結構體,傳送給c++層進行socket

結構基礎知識總結以及在高階資料結構中的寫法

在寫了幾種資料結構之後覺得結構體非常重要,但自己掌握得並不好,需要一點小總結。 以下基礎知識大多來自網站菜鳥教程: http://www.runoob.com/cprogramming/c-structures.html 格式: struct tag {

Go/複合資料型別/struct-結構

# 結構體 package main import "fmt" type Stu struct{ age int sex byte //字元型 name string } func main() { //結構體定義與初始化 //順序初始化 每個成員都必須初始化 var s S

C/C++ 指標小結——指標與其它資料型別(陣列、字串、函式、結構)的關係

一、指標與陣列和字串 1、指標與陣列 當宣告數時,編譯器在連續的記憶體空間分配基本地址和足夠的儲存空間,以容納陣列的所有元素。基本地址是陣列第一個元素(索引為0)的儲存位置。編譯器還把陣列名定義為指向第一個元素的常量指標。 元素的地址是通過索引和資料型別的比例因子來計算的;例如: x[3

C 語言中的結構資料結構

結構體是在資料結構中經常使用的一類,下面對結構體進行一些知識的補充 結構體和陣列的區別 結構體的宣告 結構體宣告的基本形式 struct tag { member-list }variable-list; 引數解釋 tag:結構體的名字

將json轉換為資料結構

主要用到的依賴:(劃重點:這個依賴需要加jdk版本號,不加的話用不了,且目前最高是jdk15) (ps: 用於json與其他型別格式轉換,JSONObject, JSONArray等來自這個包) <!-- https://mvnrepository.com/artifact/net.s

[UE4]自定義結構、類、資料

自定義資料表: #pragma once #include "CoreMinimal.h" #include "Engine/UserDefinedStruct.h" #include "Components/CanvasPanel.h" #include "Blueprint/UserW

MFC視窗之間傳遞資料結構

MFC視窗之間的通訊一般會利用傳送訊息的方式傳遞,那麼具體如何實現呢,程式碼如下: 下面實現的是一個子視窗把訊息傳送到主視窗的示例: 1.訊息傳送視窗部分程式碼: 首先新增自定義訊息; #defi

C語言門第十七篇,結構

結構體是C語言很重要的概念,他是資料結構的關鍵。 基本性質 個人理解結構體是一種變數的集合體,他把變數放入了一個結構裡面,形成了一個結構體。我們先看看他的基本語法。 struct 結構體名 { 結構體 } 我們看上面的基本語法可以看出,我們

關於結構(陳銳、葛麗萍 編著《跟我學資料結構》整理)

1.結構體的定義        結構體是其他lei'型別構造出來的shu'資料型別。        結構體型別(關鍵字struct表示一個結構體)的記錄:       str

C/C++中各種 資料型別、結構、類 佔用位元組數分析與總結

一、基本資料型別在不同編譯器下佔用位元組數比較與總結,測試過程不詳述了,直接看下錶結論! 下表中右側總結部分是依據佔用位元組數進行著色,同一種顏色型別的資料成員佔用位元組數要麼一致,要麼具有同樣的性質,這樣比較容易理解的記憶。 佔用位元組數

資料結構---棧和佇列(結構實現)

棧(LIFO) 棧(stack)是一種只能在一端進行插入或刪除操作的線性表。 棧頂(top):允許進行插入、刪除操作的一端 棧底(bottom):另一端稱為棧底 進棧或入棧(push):插入操作 出棧或退棧(pop):棧的刪除操作 n個不同元素通過一個棧產生的出棧

C# 之 結構(struct)---複合型別的資料結構

例題: /*建立學生結構體,輸出最高分數*/ /*使用結構體陣列 -----複合型別(string int float等) student[] students=ne

C#與C++資料型別比較及結構轉換

//c++:HANDLE(void *) —- c#:System.IntPtr //c++:Byte(unsigned char) —- c#:Sy

Python基礎資料結構資料轉換(Dict,Set,Tuple,List)

本章是Python基礎資料結構的第六篇,由於之前沒有接觸過太多的Python版本的資料結構,所以在學習的過程中集百家之長和自己的見解,加以實踐,學習Python。 Python中用到tuple的方法,和注意事項都以程式碼的形式體現 #!/usr

UnityC#學習—指令碼結構封裝資料

Unity C#指令碼結構體封裝資料 一:簡單介紹 二:很簡單,直接看效果圖吧 三:開始編寫指令碼實現 四:最終實現 博主支援 一:簡單介紹 1,當你寫指令碼時,如果用到了很多 Public 顯示出來,在Insp