选择排序

/*
Selection Sort
Writed by Zoro
Date: 2019/11/7
function:选择排序
3 7 4 2 6 1
3 1 4 2 6 7
3 1 4 2 6 7
3 1 2 4 6 7
1 2 3 4 6 7
*/

#include <stdio.h>

int findMaxPos(int arr[], int n) {
    int max = arr[0];
    int pos = 0;
    int i;
    for (i = 0; i < n; i++) {
        if (arr[i] > max) {
            max = arr[i];
            pos = i;
        }
    }
    return pos;
}

void selectionSort(int arr[], int n) {
    while (n > 1) {
        int pos = findMaxPos(arr, n);
        int tmp = arr[pos];
        arr[pos] = arr[n-1];
        arr[n-1] = tmp;
        n--;
    }
}

int main() {
    int arr[] = {5, 8, 9, 7, 6, 1, 2, 4, 3};
    selectionSort(arr, 9);
    int i;
    for (i = 0; i < 9; i++) {
        printf("%d\n", arr[i]);
    }
    return 0;
}

posted @   电院院长  阅读(133)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示