手机版
你好,游客 登录 注册
背景:
阅读新闻

选择排序C语言实现

[日期:2019-08-01] 来源:cnblogs.com/lanhaicode  作者:蓝海人 [字体: ]

选择排序

1、算法描述

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕(放到起始位置还是末尾可以自行选择)

2、代码实现

int num[5] = {7, 3, 5, 8, 1};
    int i, j;
    int minIndex;    //待排序列中最小数的下标
    int temp;
    int length = sizeof(num) / sizeof(num[0]);

    /* 选择排序-升序*/
    for (i = 0; i < length - 1; i++)
    {
        minIndex = i;
        for (j = i + 1; j < length; j++)
        {
            if (num[j] < num[minIndex])
            {
                minIndex = j;
            }
        }
        temp = num[i];
        num[i] = num[minIndex];
        num[minIndex] = temp;
    }

3、排序过程(gif)

四、关于算法性能

与冒泡排序相比选择排序的交换次数较少,由于交换所需CPU时间比比较所需的CPU时间多,n值较小时,选择排序比冒泡排序快

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-08/159738.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款