[英]Sorting a struct list of struct
我有兩個結構:
struct memBlock {
uint32_t pid;
uint32_t moduleSize;
void* moduleStart;
};
struct memory{
uint32_t memSize;
uint32_t memSizeOS;
uint32_t chunkSize;
uint32_t nextFit;
list<memBlock> freeMem;
list<memBlock> usedMem;
};
memory memo;
我想按 moduleSize 的升序對備忘錄的 freeMem 列表進行排序。
我怎樣才能做到這一點?
我試過這個:
sort( memo.freeMem.begin( ), memo.freeMem.end( ),
[]( const memory& a, const memory&b ){
return a.freeMem < b.freeMem;
} );
但我不知道如何指定排序應該考慮 moduleSize 變量。
解決方案:
memo.freeMem.sort([]( memBlock a,memBlock b){return a.moduleSize<b.moduleSize;});
可能你想要這樣的東西:
sort( memo.freeMem.begin( ), memo.freeMem.end( ),
[]( const memblock& a, const memblock&b ){
return a.moduleSize < b.moduleSize;
} );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.