中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
安溪县| 澳门| 犍为县| 莲花县| 鲁甸县| 龙里县| 延津县| 龙南县| 云霄县| 赣榆县| 新源县| 蓝山县| 通州区| 隆林| 广丰县| 临沧市| 藁城市| 长汀县| 吴桥县| 昌邑市| 泾源县| 克什克腾旗| 砀山县| 洞口县| 长沙县| 从江县| 娱乐| 称多县| 高平市| 永清县| 新巴尔虎右旗| 卢氏县| 肇源县| 治多县| 青川县| 东兴市| 丹阳市| 麻江县| 吉安市| 遂宁市| 延吉市|