zoukankan      html  css  js  c++  java
  • 选择排序

      每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。

      例如:

      初始关键字 [49 38 65 97 76 13 27 49]
      第一趟排序后 13 [38 65 97 76 49 27 49]
      第二趟排序后 13 27 [65 97 76 49 38 49]
      第三趟排序后 13 27 38 [97 76 49 65 49]
      第四趟排序后 13 27 38 49 [76 97 65 49 ]
      第五趟排序后 13 27 38 49 49 [97 65 76]
      第六趟排序后 13 27 38 49 49 65 [97 76]
      第七趟排序后 13 27 38 49 49 65 76 [97]
      最后排序结果 13 27 38 49 49 65 76 97

      程序:

    int main(void)
    {
        int a[10],i,j,tmp,b;
        srand(time(NULL));
        for(i=0;i<10;i++)
            a[i]=rand()%100;
        for(i=0;i<10;i++)
            printf("%3d",a[i]);
        printf("
    ");
        for(i=0;i<9;i++)
        {
            tmp=i;
            for(j=i+1;j<10;j++)
             {
               if(a[tmp]>a[j])
               tmp=j;
            }
            if(i!=tmp)
            {
                b=a[tmp];
                a[tmp]=a[i];
                a[i]=b;
            }
        }
        for(i=0;i<10;i++)
        printf("%3d",a[i]);
        printf("
    ");
        return 0;
    }

    摘自http://baike.baidu.com/link?url=n97WMi4BdkVvFXERSgdozICVv3_Nbxf-AZU8h2XDxgsG6_MA6uD6qJWsGNDZcs8w

  • 相关阅读:
    暴躁游戏

    时间记录表格
    好好生活
    JAVA环境的配置
    Java简介
    markdown学习

    Arduino
    Arduino
  • 原文地址:https://www.cnblogs.com/budapeng/p/3301017.html
Copyright © 2011-2022 走看看