数据结构与算法: 快速排序
程序员文章站
2022-07-09 13:09:00
...
void quickSort(vector<int> &arra, int L, int R) {
int *p;
p = partition2(arra, L, R);
cout << p[0] << endl;
quickSort(arra, L, p[0] - 1);
quickSort(arra, p[1] + 1, R);
delete p;
}
int *partition2(vector<int> &arr, int L, int R) {
int less = L - 1;
int more = R;
while (L < more) {
if (arr[L] < arr[R]) {
swap(arr[++less], arr[L++]);
}
else if (arr[L] > arr[R]) {
swap(arr[--more], arr[L]);
}
else {
L++;
}
}
swap(arr[more], arr[R]);
int *temp = new int[2];
temp[2] = {less+1, more};
return temp;
}
上一篇: 大一实训----C语言编写俄罗斯方块游戏
下一篇: 利用FPGA输出占空比可调的方波