java排序算法学习(二)--选择排序

 

  
  
  
  
  1. package com.tw.ds.sort;  
  2.  
  3.  
  4. /**  
  5.  * <p>选择排序法  
  6.  * 选择排序算法的一般策略:搜索整个值列,以找到最小值。  
  7.  *  将该值与值列中第一个位置上的值进行交换。搜索剩下的值列(第一个除外),以找到其中的最小值,  
  8.  *  然后将其与值列中第二个位置上的值进行交换。对值列中的每个位置重复该过程。  
  9.  *  在算法结束时,就完成了对值列的排序。  
  10.  * </p>  
  11.  * @author tangw 2010-11-22  
  12.  *  
  13.  */ 
  14. public class SelectSortMain {  
  15.       
  16.     /**  
  17.      * 主方法  
  18.      * @param args  
  19.      */ 
  20.     public static void main(String[] args) {  
  21.         int ar[] ={12,88,10,2,3,5,6,11,3};  
  22.         selectSort(ar);  
  23.         forint i=0;i<ar.length;i++){  
  24.             System.out.println("---i="+i+"  values:"+ar[i]);  
  25.         }  
  26.  
  27.     }//end method main  
  28.       
  29.     /**  
  30.      * <p>选择排序方法</p>  
  31.      * @param arData  
  32.      */ 
  33.     public static void selectSort(int[] arData){  
  34.         int len = arData.length;  
  35.         for(int i=0;i<len;i++){//外循环  
  36.             //最小值索引  
  37.             int minIndex = i;  
  38.             for(int j=i+1;j<len;j++){//内循环 arData[i]后的值  
  39.                 if( arData[j]<arData[minIndex] ){  
  40.                     minIndex = j;  
  41.                 }  
  42.             }  
  43.             //替换 将最小的值与当前arData[i]的值替换  
  44.             if( i!= minIndex){  
  45.                 int temp = arData[i];  
  46.                 arData[i] = arData[minIndex];  
  47.                 arData[minIndex]=temp;  
  48.             }  
  49.         }  
  50.     }//ebd method selectSort  
  51.  
  52. }  

 

你可能感兴趣的:(算法,职场,选择排序,休闲)