c语言如何实现选择排序算法(代码示例)


本文摘自PHP中文网,作者青灯夜游,侵删。

选择排序算法的基本思想就是依次选出数组最小的数放到数组的前面,在C语言中我们可以使用两个for循环,先从数组的第二个元素开始往后遍历,找出最小的数放到第一个位置,再从剩下数组中找出最小的数放到第二个位置,以此类推,直到数组有序。

选择排序法的实现原理:

先判断最小的数的下标是不是 0,如果不是则说明最小的数不是第一个元素,则将这个数与第一个元素互换位置,这样一轮下来最小的那个数就被找到并放到了最左边。

【视频教程推荐:C语言教程

代码示例:

使用选择排序法将一组手动输入的数据由小到大进行排序,数据分别为 52、36、2、39、56、45、78、92、15、52。

实现代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

#include <stdio.h>

int main()

{

    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");

    return 0;

}

输出:

2.jpg

代码说明:

代码中使用了两个 for 循环语句。第一个 for 循环是确定位置的,该位置是存放每次从待排序数列中经选择和交换后所选出的最小数。第二个 for 循环是实现将确定位置上的数与后面待排序区间中的数进行比较的。

以上就是c语言如何实现选择排序算法(代码示例)的详细内容!

相关阅读 >>

C语言字符串定义的方法是什么

C语言整除符号是什么?

C语言文件读写函数有哪些?

switch语句中case后面的值必须是什么?

C语言的源程序不必通过编译就可以执行对吗

C语言逻辑运算符的优先级是怎样的

C语言中%是什么意思

C语言的认识和想法是什么

C语言如何实现玫瑰花

C语言求余的实现方法

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...