Java教程

算法 选择排序

本文主要是介绍算法 选择排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、算法思想:

选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。

从大到小排序

选择排序法原理举例解释

 

选择排序法原理举例解释

 

选择排序法原理举例解释

 

选择排序法原理举例解释

 

选择排序法原理举例解释

选择排序法原理举例解释

 

选择排序法原理举例解释

 

选择排序法原理举例解释

 

 从小到大和从大到小 原理一样

 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

//选择排序法
void SelectSort(int* arr, int len)
{
    int tmp;
    int min;
    for (int i = 0; i < len; i++)
    {
        min =i;
        for (int j = i + 1; j < len; j++)
        {
            if (arr[j] < arr[min])
            {
                min = j;
            }
        }
        tmp = arr[min];
        arr[min] = arr[i];
        arr[i] = tmp;
    }
}

void Show(int* arr, int len)
{
    for (int i = 0; i < len; i++)
    {
        printf("%d ", arr[i]);
    }
}
int main()
{
    int arr[] = { 6,0,9,1,7};
    SelectSort(arr, sizeof(arr) / sizeof(arr[0]));
    Show(arr, sizeof(arr) / sizeof(arr[0]));
    return 0;
}

 

 

 

 

这篇关于算法 选择排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!