我正在开发一个小益智游戏(Gem Puzzle)。
我在棋盘上的每个棋子都有一个拼图棋子对象,它具有以下属性:
Position Pcorrect_;
Position Pactuel_;
bool estvide_;
(第3个属性与此问题无关)
该职位是一个简单的结构,包括:
unsigned ligne;
unsigned colonne;
每件都存储在矢量矢量中。
std::vector<std::vector<Piece>> board_;
Pieces最终混合在一起,因此正确的属性(位置)与实际属性(位置)不匹配。
我遇到了一个应该对电路板进行排序的方法。实际位置必须与每块电路板的当前位置相匹配。
使用sort函数是否有一种优雅的方法?我目前的方法是使用4个循环和许多条件,这可能是错误的方法。
答案 0 :(得分:0)
如果你使用C ++ 11,你可以创建一个元组并对其进行排序。
您可以定义自定义比较,如下例所示: