c语言

c语言怎么实现简单选择排序算法

小亿
89
2023-11-22 21:18:57
栏目: 编程语言

简单选择排序是一种简单直观的排序算法,其基本思想是在待排序的序列中,从第一个元素开始,依次与后面的元素比较,找到最小的元素,然后将其与当前位置的元素交换,重复这个过程,直到整个序列有序。

以下是用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("排序后的数组:\n");
    for(int i = 0; i < n; i++)
        printf("%d ", arr[i]);
    
    return 0;
}

运行以上代码,输出结果为:

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

这样就实现了简单选择排序算法。

0
看了该问题的人还看了