算法 选择排序

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;
}

 

 

 

 

上一篇:数组部分元素移动问题


下一篇:c语言关键字