1.选择排序法

//选择排序法
#include <stdlib.h>
#include <stdio.h>


void main()
{

    int a[10];
    //初始化数组
    for (int i = 0; i < 10; i++)
    {
        a[i] = rand() % 10;
    }

    //打印数组
    for (int i = 0; i < 10; i++)
    {
        printf("%4d", a[i]);
    }
    printf("
");

    //min保存最小的元素下标
    int min = 0;

    //选择排序法
    for (int i = 0; i < 10; i++)
    {
        min = i;
        //遍历找出最小的数组元素下标
        for (int j = i + 1; j < 10; j++)
        {
            if (a[j] < a[min])
            {
                min = j;
            }
        }
        //如果找到,则交换
        if (min != i)
        {
            int tmp = a[i];
            a[i] = a[min];
            a[min] = tmp;
        }
    }

    //打印出排序后的结果
    for (int i = 0; i < 10; i++)
    {
        printf("%4d", a[i]);
    }
    printf("
");

    system("pause");

}
原文地址:https://www.cnblogs.com/xiaochi/p/8206846.html