利用选择排序进行将数组序列从小到大排序

143 阅读1分钟

1 题目

功能:选择排序 描述:利用选择排序进行将数组序列从小到大排序

2 思路

选择排序的基本算法是从待排序的区间中经过选择和交换后选出最小的数值存放到a[0]中,再从剩余的未排序区间中经过选择和交换后选出最小的数值存放到a[1]中,a[1]中的数字仅大于a[0],依此类推,即可实现排序

3 代码

#include <stdio.h> 
#include <stdlib.h>
​
/**
功能:选择排序
描述:利用选择排序进行将数组序列从小到大排序
**/
​
int main(int argc, char const *argv[]) {
    int i, j, t, a[11];           //定义变量及数组为基本整型
    printf("请输入10个数:\n");
    for (i = 1; i < 11; i++)
        scanf("%d", &a[i]);         //从键盘中输入要排序的10个数字
    for (i = 1; i <= 9; i++)
        for (j = i + 1; j <= 10; j++)
            if (a[i] > a[j]) {      //如果后一个数比前一个数大则利用中间变量t实现俩值互换
            t = a[i];
            a[i] = a[j];
            a[j] = t;
    }
    printf("排序后的顺序是:\n");
    for (i = 1; i <= 10; i++)
        printf("%5d", a[i]);        //将排好序的数组输出
      printf("\n");
}

示例结果:

$ gcc ex062.c -o demo
$ ./demo
请输入10个数:
23
51
34
15
45
72
2
5
33
90
排序后的顺序是:
    2    5   15   23   33   34   45   51   72   90