看來我可以爲一個結構定義一個運算符,並使用std :: sort進行排序 - 我所看到的問題是它看起來像我只能定義一個排序方法。我想根據其他字段定義兩個其他字段。是否可以定義更多?按不同字段排序結構隊列
否則,我能想到的唯一的其他事情就是將結構移動到一個向量中,並使用爲每種排序定義的函數對向量進行排序。我很好地處理它,但我想知道是否有一個更理想的方式來處理隊列中結構的字段排序。
例如,這個結構...
struct job
{
int id;
int start;
int end;
bool operator<(Process const &other) { return start < other.start; }
};
queue<jobSet>
我知道我可以成立一個布爾通過開始排序...
sort(begin(jobSet), end(jobSet));
但我不知道如何另設那種與結束現場工作
目前尚不清楚你想要完成什麼。我的猜測是你想根據上下文對不同類型的對象進行不同的排序?你可以將你自己的比較器傳遞給'std :: sort',這樣很容易實現。你應該澄清你的問題,如果這不是你想要的。 – Srikanth
好的我已經添加了示例代碼 – cpd1