选择排序
•发布于   •作者 云烟  •278 次浏览  •来自 资讯

思想: 其排序思想为:首先将第一个数标记为最大数,其位置为最大数的位置;然后排除第一个数,使用第一个数和剩下的数依次比较,若剩下的数大于第一个数,则继续比较,直到找到最大数为止;最后判断实际最大数的位置是否就是默认最大数的位置,若不是,则用第一个数的位置和最大数的位置进行交换,则此时第一个数就是实际最大数。以此类推,比较剩下的数,得到降序排列;反之为升序排列。选择排序和冒泡排序差不多,只是冒泡排序在发现比它小的时候就交换,而选择排序是只有在确定了最小的数据之后,才会发生交换。 



程序:

  public void selectSort(int [] a) {  

              int n = a.length;    

             for(int k=0; k<n-1; k++) {            

             int min = k;             

                 for(int i=k+1; i<n; i++) {                  

                    if(a[i] < a[min]) {                    

                              min = i;                   

}              

 }              if(k != min) {        

           int temp = a[k];       

            a[k] = a[min];          

         a[min] = temp;        

       }        

   }     

  }




0 回复
回到顶部

©2017 Powered by 三十三行伪代码
皖ICP备17005175号-3