C语言中的选择排序实例分析

下面是用 C 编程语言实现的选择排序算法的示例:

 

'''c

 

#include <stdio.h>

 

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

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

        int minIndex = i;

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

            if (arr[j] < arr[minIndex]) {

                minIndex = j;

            }

        }

        // Swap arr[i] and arr[minIndex]

        int temp = arr[i];

        arr[i] = arr[minIndex];

        arr[minIndex] = temp;

    }

}

 

int main() {

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

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

 

    printf("Array before sorting:\n");

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

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

    }

 

    selectionSort(arr, n);

 

    printf("\nArray after sorting:\n");

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

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

    }

 

    return 0;

}

 

'''

 

在此示例中,“selectionSort”函数将数组“arr”及其长度“n”作为参数。它遍历数组并在数组的未排序部分找到最小元素,并将其与最左侧的未排序元素交换。重复此过程,直到对整个数组进行排序。

 

该算法的时间复杂度为 O(n^2),其中 n 是数组中的元素数。这是因为对于每个元素,该算法执行线性搜索以查找数组剩余未排序部分中的最小元素。因此,该算法可能不是大型数组的最有效选择。但是,它具有简单性的优点,并且需要最少的额外内存,因此适用于小型数组或部分排序的数组。

 

在此示例中,数组“{64, 25, 12, 22, 11}”使用“selectionSort”函数进行排序。将显示初始数组,后跟排序后的数组。排序后,输出将是:

 

'''

 

排序前的数组:

64 25 12 22 11

排序后的数组:

11 12 22 25 64

 

 

'''

 

这演示了 C 语言中选择排序算法的基本实现和用法。

 

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BlurryFace36549

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值