class Foo
{
public:
int num;
int other;
};
int main()
{
Foo bar[10].num = {1, 9, 3, 5, 1, 6, 10, 0, 6, 3};
//quicksort(bar)
return 0;
}
我想编写一个快速排序函数,按“num”升序对“bar”数组进行排序。不太确定什么是最好的方法,因为我从来没有写过快速排序。我查看了一些示例代码,但我看不到如何针对这种情况修改它们。通过将指针传递给数组的第一个和最后一个元素来完成的就地排序不起作用,因为这只会对“num”成员进行排序,而不是对整个对象进行排序。将对象数组拆分为一个较低的数组、一个枢轴和一个较高的数组并递归排序每个看起来很有希望,但我不确定传递值将如何工作......
非常感谢任何帮助。抱歉,如果之前有人问过这个问题。