我正在制作一个二十一点游戏,并创建了一个数组作为用户处理的手。我希望能够对它进行排序,以便按照数字顺序对手进行排序,这样可以更简单地确定用户拥有的手的类型。这是我的卡片:
struct ACard{
int num;
const char *pic;
};
我想按int num
对数组进行排序。我试图只使用一个简单的插入排序来完成排序,但我相信我需要重载操作符这样做,但我很难这样做,因为我以前从未重载这样的结构。到目前为止,这就是我所拥有的:
int i,j;
ACard key;
for(int i = 1; i < 5; i++){
key = userHand[i].num;
j = i - 1;
while(j >= 0 && userHand[j].num > key){
userHand[j + 1] = userHand[j];
j = j - 1;
}
userHand[j + 1] = key;
}
*注意userHand
是我希望排序的ACard's
数组。
答案 0 :(得分:2)
使用STL容器,您可以使用$this->url->link('some/thingthing', 'variable data')
功能。前两个参数定义要排序的元素范围。第三个参数定义了用于自定义元素比较的std::sort
函数(可以使用lambda表达式)。
LessThan