以下是快速排序的完整实现代码: ```cpp #include <iostream> #include <stdlib.h> #include <time.h> const int n = 10; const int min = 10; const int max = 99; int getrand(int min, int max) { return (rand() % (max - min + 1) + min); } void set(int r[], int n) { int i; for (i = 0; i < n; i++) r[i] = getrand(min, max); } void show(int r[], int n) { int i; for (i = 0; i < n; i++) std::cout << r[i] << " "; std::cout << std::endl; } int partition(int r[], int i, int j) { int pivot = r[i]; int left = i + 1; int right = j; while (true) { while (left <= right && r[left] <= pivot) left++; while (left <= right && r[right] > pivot) right--; if (left > right) break; std::swap(r[left], r[right]); } std::swap(r[i], r[right]); return right; } void quicksort(int r[], int i, int j) { if (i < j) { int pivotIndex = partition(r, i, j); quicksort(r, i, pivotIndex - 1); quicksort(r, pivotIndex + 1, j); } } int main() { srand(time(0)); int a[n]; set(a, n); std::cout << "原始数组: "; show(a, n); quicksort(a, 0, n - 1); std::cout << "排序后的数组: "; show(a, n); return 0; } ``` [2024-11-14 10:51:44 | AI写代码神器 | 472点数解答]