c语言直接选择排序算法怎么实现

   2025-02-13 2700
核心提示:直接选择排序(Selection Sort)是一种简单直观的排序算法。它的基本思想是每一次从待排序的数据元素中选出最小(或最大)的一个

直接选择排序(Selection Sort)是一种简单直观的排序算法。它的基本思想是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

下面是C语言实现直接选择排序的代码:

#include <stdio.h>void selectionSort(int arr[], int n) {    int i, j, minIndex, temp;        // 遍历数组    for (i = 0; i < n - 1; i++) {        minIndex = i; // 记录最小元素的下标                // 在未排序的部分中找到最小元素的下标        for (j = i + 1; j < n; j++) {            if (arr[j] < arr[minIndex]) {                minIndex = j;            }        }                // 将最小元素与当前位置交换        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]);        selectionSort(arr, n);        printf("排序后的数组:");    for (int i = 0; i < n; i++) {        printf("%d ", arr[i]);    }        return 0;}

输出结果:

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

以上代码中,selectionSort函数实现了直接选择排序算法。它使用两个嵌套的循环,外层循环控制每一轮的排序,内层循环在未排序的部分中找到最小元素的下标。然后通过交换操作,将最小元素与当前位置进行交换。最终得到一个有序的数组。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言