亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c語言快速排序算法怎么使用

小億
101
2023-09-21 00:02:51
欄目: 編程語言

使用快速排序算法,需要先定義一個快速排序函數,然后在主函數中調用該函數。

下面是一個示例的C語言快速排序算法的實現:

#include <stdio.h>
void quickSort(int arr[], int left, int right) {
int i = left, j = right;
int pivot = arr[(left + right) / 2]; // 選擇中間的元素作為基準值
// 分割數組
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
// 交換元素
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
// 遞歸調用快速排序
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
int main() {
int arr[] = {5, 9, 3, 1, 2, 8, 4};
int size = sizeof(arr) / sizeof(arr[0]);
printf("Before sorting:\n");
for (int i = 0; i < size; i++)
printf("%d ", arr[i]);
quickSort(arr, 0, size - 1);
printf("\nAfter sorting:\n");
for (int i = 0; i < size; i++)
printf("%d ", arr[i]);
return 0;
}

該示例首先定義了一個quickSort函數,函數接受一個整型數組和數組的左右邊界作為參數。在函數中,我們選擇中間的元素作為基準值,并使用兩個指針ij從數組的兩端向中間遍歷,找到需要交換的元素,直到i > j。然后,遞歸調用quickSort函數對分割后的子數組進行快速排序。

在主函數中,我們定義了一個整型數組,并調用quickSort函數對其進行排序。最后,輸出排序前后的數組元素。

0
祁连县| 滦平县| 古交市| 宜昌市| 涪陵区| 金华市| 海淀区| 宜章县| 平罗县| 桐庐县| 花垣县| 南通市| 安平县| 龙陵县| 健康| 邳州市| 阿尔山市| 德庆县| 囊谦县| 双辽市| 临沭县| 内黄县| 安阳市| 鹰潭市| 巴南区| 舞阳县| 上饶县| 博兴县| 太湖县| 林州市| 九台市| 喀什市| 麻栗坡县| 蓝田县| 盈江县| 霍城县| 宜都市| 海伦市| 孟连| 湘阴县| 邯郸县|