Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
121793 胡海峰老师 19从小到大进行排序 C++ Accepted 1 MS 280 KB 1068 2025-06-08 11:29:29

Tests(10/10):


Code:

#include <iostream> using namespace std; const int MAX_N = 200000; // 根据题目要求n<=200000 // 快速排序的分区函数 int partition(int arr[], int low, int high) { int pivot = arr[high]; int i = low - 1; for (int j = low; j < high; j++) { if (arr[j] < pivot) { i++; swap(arr[i], arr[j]); } } swap(arr[i + 1], arr[high]); return i + 1; } // 快速排序主函数 void quickSort(int arr[], int low, int high) { if (low < high) { int pi = partition(arr, low, high); quickSort(arr, low, pi - 1); quickSort(arr, pi + 1, high); } } int main() { int n; cin >> n; int arr[MAX_N]; for (int i = 0; i < n; i++) { cin >> arr[i]; } // 调用快速排序 quickSort(arr, 0, n - 1); // 输出结果 for (int i = 0; i < n; i++) { cout << arr[i]; if (i != n - 1) { cout << " "; } } cout << endl; return 0; }