在C++中,快速排序算法可以通過調用遞歸函數實現。下面是一個示例代碼:
#include <iostream>
#include <vector>
void quickSort(std::vector<int> &arr, int left, int right) {
if (left >= right) {
return;
}
int pivot = arr[(left + right) / 2];
int i = left;
int j = right;
while (i <= j) {
while (arr[i] < pivot) {
i++;
}
while (arr[j] > pivot) {
j--;
}
if (i <= j) {
std::swap(arr[i], arr[j]);
i++;
j--;
}
}
quickSort(arr, left, j);
quickSort(arr, i, right);
}
int main() {
std::vector<int> arr = {5, 2, 9, 3, 7, 6, 1, 8, 4};
quickSort(arr, 0, arr.size() - 1);
std::cout << "Sorted array: ";
for (int num : arr) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
在上面的代碼中,首先定義了一個快速排序的函數quickSort
,然后在main
函數中定義了一個待排序的數組arr
,并調用quickSort
函數對數組進行排序。最后輸出排序后的數組。