2025-03-02 23:51:13

✨ C++用快速排序法对一组数据进行从小到大排列_c++一维数组排序从

导读 🌟 快速排序是一种非常高效的排序算法,它利用分治策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。今天,我们就

🌟 快速排序是一种非常高效的排序算法,它利用分治策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。今天,我们就来探索一下如何使用快速排序算法,对一组数据进行从小到大排列。

🛠️ 在C++中实现快速排序并不复杂。首先,我们需要定义一个分区函数,该函数选择一个元素作为基准值(pivot),并确保所有小于基准值的元素都位于基准值的左侧,而大于基准值的元素都位于右侧。接着,我们递归地对基准值左右两侧的子序列进行相同的操作,直到整个序列有序。

🔍 下面是一个简单的示例代码,展示了如何实现这个过程:

```cpp

include

using namespace std;

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 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);

}

int main() {

int arr[] = {10, 7, 8, 9, 1, 5};

int n = sizeof(arr) / sizeof(arr[0]);

quickSort(arr, 0, n - 1);

cout << "Sorted array: \n";

for (int i = 0; i < n; i++)

cout << arr[i] << " ";

return 0;

}

```

🌈 运行这段代码,你将看到数组被成功地从小到大排序。这不仅展示了快速排序的强大功能,也展示了C++在处理数组排序时的简洁与高效。希望这篇文章能帮助你更好地理解和应用快速排序算法!