首页 > 编程语言 > 详细

选择排序

时间:2019-11-08 01:11:05      阅读:96      评论:0      收藏:0      [点我收藏+]
/*
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;
}

选择排序

原文:https://www.cnblogs.com/xuzhaoping/p/11817028.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!