關於vector的排序

2021-09-26 04:34:46 字數 597 閱讀 3199

vector> buildstoreys;

//按樓層排序 -----------方法1

map> mapstoreys;

for (auto &istorey : buildstoreys)

buildstoreys.clear();

auto iter = mapstoreys.begin();

while (iter != mapstoreys.end())

//按樓層排序 ------------方法2

struct

} storeybase;

std::sort(buildstoreys.begin(), buildstoreys.end(), storeybase);

對於大批量的資料我們通常用容器接收,因為容器提供了很多的增刪改查的方法很利於後續操作,這裡是vector的排序操作。

方法1利用map中key-value的key自動排序,先填充map再清空vector重新插入   --測試結果:軟體崩潰,直接宕機

方法2利用vector自帶的sort函式,sort(iter,iter,func),我們只需要寫好比較函式即可完成排序處理

關於vector的使用

vector在做push back的操作的時候如果預置空間不足寫入,則會重新申請記憶體,並把之前的資料拷貝過來。因此當乙個vector物件要做大量push back操作的時候,如果知道要push進去的數量,最好先用reserve開闢好空間,效率會高很多。再者,使用vector的時候要慎重使用引用。如...

關於vector的用法

1.標頭檔案 include 2.用法 1.vectorb 只是代表著 建立了乙個vector的空的物件 別以為這時候的b 0 b 1 等於0 天真。2.vectorv3 10,0 建立乙個有10個元素0的容器 這個時候b 0 0 b 9 0!這個跟陣列一樣 還是會超時 如果你申請的比較大的話 一般...

vector中的排序

第一種方法 include stdafx.h include include include using namespace std struct assesstypeinfo bool operator const assesstypeinfo rhs const 降序排序時必須寫的函式 int ...