温馨提示×

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

小亿
89
2024-01-03 11:47:56
栏目: 编程语言

在 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 语言中对一个数组进行排序的示例。

0