0
我正在研究一個小的益智遊戲(寶石益智)。排序對象的2D矢量
我對每一塊電路板上,具有以下屬性的拼圖對象:
Position Pcorrect_;
Position Pactuel_;
bool estvide_;
(第3屬性是不相關的這個問題)
位置被結構簡單,包括:
unsigned ligne;
unsigned colonne;
每件都存儲在一個向量的矢量。
std::vector<std::vector<Piece>> board_;
件最終會混在一起,所以正確的屬性(位置)與實際屬性(位置)不匹配。
我被卡在一個應該對板子進行排序的方法上。實際的位置必須匹配每塊板子的當前位置。
是否有一個優雅的方式做這個與排序功能?我目前的做法是使用4循環和許多條件,這可能是做錯的方式。
有一個看看'的std :: sort'功能。 –
另外,如果你使用std :: sort,你可能不得不在你的Piece類中實現一個比較(<)運算符。請參閱http://stackoverflow.com/questions/1380463/sorting-a-vector-of-custom-objects –
使用'std :: sort',並提供一個函數,該函數需要'std :: vector'並返回一個'bool'。然後你可以在該函數中再次使用'std :: sort'來定義你想如何比較它們。 –
OMGtechy