#include
using namespace std;
void print(int a[], int n)
{
for(int j= 0; j { cout<
} } void quickSort(int a[], int low ,int high) { /********************begin***********************/ if (low < high) { int pivot = a[low]; // 选择第一个元素为基准值 int i = low + 1; // 从基准值之后的第一个元素开始遍历 int j = high; // 从最后一个元素开始遍历 while (i <= j) { // 从左边找到第一个大于基准值的元素 while (i <= j && a[i] < pivot) { i++; } // 从右边找到第一个小于基准值的元素 while (i <= j && a[j] > pivot) { j--; } // 交换找到的两个元素 if (i <= j) { swap(a[i], a[j]); i++; j--; } } // 将基准值放到正确的位置上 swap(a[low], a[j]); // 递归地对基准值两边的子数组进行快速排序 quickSort(a, low, j - 1); quickSort(a, j + 1, high); } /********************end *************************/ } int main() { int n; cin>>n; int *a = new int[n]; for (int i=0;i { cin>>a[i]; } /********************begin***********************/ quickSort(a, 0, n-1); print(a, n); delete[] a; return 0; /********************end *************************/ }