#include <iostream>
using namespace std;
int helper(int arr[], int left, int right) {
int key = arr[right];
int k = left;
for(int i = left; i < right; ++i) {
if(arr[i] < key) {
swap(arr[i], arr[k++]);
}
}
swap(arr[right], arr[k]);
return k;
}
void quicksort(int arr[], int left, int right) {
if(left < right) {
int i = helper(arr, left, right);
quicksort(arr, left, i-1);
quicksort(arr, i+1, right);
}
return;
}
int main() {
int arr[10] = {2, 5, 4, 3, 1, 6, 8, 9, 7, 0};
for(int i = 0; i < 10; ++i)
cout << arr[i] << " ";
cout << endl;
quicksort(arr, 0, 9);
for(int i = 0; i < 10; ++i)
cout << arr[i] << " ";
return 0;
}
快排(面试手写版)
最新推荐文章于 2022-02-27 00:58:03 发布