酷代码 AI
菜单
服务商

快速排序代码大揭秘:从随机数组生成到高效排序实现

以下是快速排序的完整实现代码: ```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; } ``` ######[AI写代码神器 | 472点数解答 | 2024-11-14 10:51:44]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]