首页 > 代码库 > 选择排序

选择排序

设有N个数需要从小到大排序,则共需要N-1趟,才能完成整个排序:

Step-1: 将第一个数与后面所有的数进行比较;如果后面的某数<第一个数,就交换;比较结束后,第一个数就是最小的数;

Step-2: 将第二个数与后面所有的数进行比较;如果后面的某数<第二个数,就交换;比较结束后,第二个数就是次小的数;

...

Step-N-1 :

// 核心代码
for(int i=0;i<N;i++)  {
  for(int j=i+1;j<N;j++)  {
    if(a[i]>a[j]) {
        t=a[i];
        a[i]=a[j];
        a[j]=t;
     }
  }
}

实例:选择排序(从小到)  3 7 5 6 8 0

  1. 0 7 5 6 8 3 
  2. 0 5 7 6 8 3 --》0 3 7 6 8 5
  3. 0 3 6 7 8 5 --》0 3 5 7 8 6
  4. 0 3 5 6 8 7
  5. 0 3 5 6 7 8

排序结束

                                                              2016-11-03

选择排序