酷代码 AI
菜单
全部AI  /  首页  /  AI写代码神器

快速排序:# include< iostream>using namespace std;# 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++)cout << r[i]<<" ";cout << endl;}int partition( int r[], int i, int j){//由你完成}void quicksort( int r[], int i, int j){//由你完成}int main(){srand( time(0));int a[n];set(a, n);cout<<"

以下是快速排序的完整实现代码: ```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点数解答]

相关提问