c语言中的选择排序法怎么用

1209
2024/1/16 11:47:56
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在 C 语言中,可以使用选择排序算法对一个数组进行排序。选择排序的基本思想是每次从未排序部分选择最小(或最大)的元素,并将其放置在已排序部分的末尾。

下面是使用选择排序算法对一个整数数组进行排序的示例代码:

#include <stdio.h>

void selectionSort(int arr[], int n) {

    int i, j, min_idx, temp;

    // 遍历整个数组

    for (i = 0; i < n - 1; i++) {

        // 找到未排序部分的最小元素位置

        min_idx = i;

        for (j = i + 1; j < n; j++) {

            if (arr[j] < arr[min_idx])

                min_idx = j;

        }

        // 将最小元素与当前位置交换

        temp = arr[i];

        arr[i] = arr[min_idx];

        arr[min_idx] = temp;

    }

}

int main() {

    int arr[] = {64, 25, 12, 22, 11};

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

    int i;

    printf("原始数组:");

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

        printf("%d ", arr[i]);

    selectionSort(arr, n);

    printf("\n排序后的数组:");

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

        printf("%d ", arr[i]);

    return 0;

}

在上述代码中,`selectionSort()` 函数用于实现选择排序算法。`main()` 函数中创建了一个整数数组 `arr`,并计算出数组的长度 `n`。然后,原始数组被输出,并调用 `selectionSort()` 函数对数组进行排序。最后,排序后的数组被输出。

以上代码将输出:

原始数组:64 25 12 22 11 

排序后的数组:11 12 22 25 64

这就是使用选择排序算法在 C 语言中对一个数组进行排序的示例。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c语言中文字符串如何输出