zoukankan      html  css  js  c++  java
  • 选择排序——C语言

    选择排序

    1、算法描述

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

    2、代码实现

     1 int num[5] = {7, 3, 5, 8, 1};
     2     int i, j;
     3     int minIndex;    //待排序列中最小数的下标
     4     int temp;
     5     int length = sizeof(num) / sizeof(num[0]);
     6 
     7     /* 选择排序-升序*/
     8     for (i = 0; i < length - 1; i++)
     9     {
    10         minIndex = i;
    11         for (j = i + 1; j < length; j++)
    12         {
    13             if (num[j] < num[minIndex])
    14             {
    15                 minIndex = j;
    16             }
    17         }
    18         temp = num[i];
    19         num[i] = num[minIndex];
    20         num[minIndex] = temp;
    21     }

    3、排序过程(gif)

    四、关于算法性能

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

  • 相关阅读:
    redis搭建集群
    redis搭建主从
    redis与python交互
    redis数据操作篇
    redis配置篇
    node 淘宝镜像
    java 深copy
    springmvc配置访问静态文件
    centos 启动 oracle
    List 分隔多次执行 且在同一个事物当中
  • 原文地址:https://www.cnblogs.com/lanhaicode/p/11276943.html
Copyright © 2011-2022 走看看