91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
白银市| 井研县| 张掖市| 阜阳市| 阜宁县| 景谷| 兴义市| 远安县| 手游| 垦利县| 大荔县| 多伦县| 高安市| 田林县| 万山特区| 华池县| 乐东| 精河县| 隆林| 德昌县| 白玉县| 六枝特区| 丰原市| 鸡泽县| 张北县| 宽甸| 绥阳县| 道孚县| 郯城县| 霸州市| 清水县| 威海市| 沁水县| 双流县| 芦溪县| 山西省| 大英县| 台东市| 丽水市| 邻水| 交口县|