快速排序是一种高效的排序算法,广泛应用于各个领域。它的核心思想是通过分治法将一个大问题拆分成多个小问题,并且通过递归地解决这些小问题最终得到答案。
在C++中,我们可以通过以下代码来实现快速排序:
cpp #includeusing namespace std; int partition(int arr[], int low, int high){ int pivot = arr[high]; int i =(low -1); for (int j = low; j <= high -1;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 arr[]={64, 25, 12, 22, 11}; int n = sizeof(arr)/ sizeof(arr[0]); quickSort(arr,0, n -1); cout <<"Sorted array:\n"; for (int i =0; i 以上代码首先定义了`partition`函数,用于确定基准元素的位置,并将小于基准元素的值放在左侧,大于基准元素的值放在右侧。然后,通过递归调用`quickSort`函数对左右两个子数组进行排序。
最后,在`main`函数中,我们定义了一个待排序的数组`arr`,并计算其大小。然后调用`quickSort`函数对数组进行排序,并输出排序后的结果。
imtoken钱包安卓版:https://masbdc.com/zfj/18544.html