JAVA排序算法实现代码-选择(Select)式排序

 

JAVA排序算法实现代码-选择(Select)式排序

  1. /** 
  2.  * JAVA排序算法实现代码-选择(Select)式排序。 
  3.  *  
  4.  * @author 老紫竹 JAVA世纪网(java2000.net) 
  5.  *  
  6.  */  
  7. public class Test {  
  8.   public static int[] a = { 1032195712043 }; // 预设数据数组  
  9.   
  10.   public static void main(String args[]) {  
  11.     int i; // 循环计数变量  
  12.     int Index = a.length;// 数据索引变量  
  13.   
  14.     System.out.print("排序前: ");  
  15.     for (i = 0; i < Index - 1; i++)  
  16.       System.out.printf("%3s", a[i]);  
  17.     System.out.println("");  
  18.   
  19.     SelectSort(Index - 1); // 选择排序  
  20.     // 排序后结果  
  21.     System.out.print("排序后: ");  
  22.     for (i = 0; i < Index - 1; i++)  
  23.       System.out.printf("%3s", a[i]);  
  24.     System.out.println("");  
  25.   }  
  26.   
  27.   public static void SelectSort(int Index) {  
  28.     int i, j, k; // 循环计数变量  
  29.     int MinValue; // 最小值变量  
  30.     int IndexMin; // 最小值索引变量  
  31.     int Temp; // 暂存变量  
  32.   
  33.     for (i = 0; i < Index - 1; i++) {  
  34.       MinValue = 32767// 目前最小数值  
  35.       IndexMin = 0// 储存最小数值的索引值  
  36.       for (j = i; j < Index; j++) {  
  37.         if (a[j] < MinValue) // 找到最小值  
  38.         {  
  39.           MinValue = a[j]; // 储存最小值  
  40.           IndexMin = j;  
  41.         }  
  42.         Temp = a[i]; // 交换两数值  
  43.         a[i] = a[IndexMin];  
  44.         a[IndexMin] = Temp;  
  45.       }  
  46.   
  47.       System.out.print("排序中: ");  
  48.       for (k = 0; k < Index; k++)  
  49.         System.out.printf("%3s", a[k]);  
  50.       System.out.println("");  
  51.     }  
  52.   }  
  53. }  


运行结果
排序前: 10 32 1 9 5 7 12 0 4
排序中: 1 32 10 9 5 7 12 0 4
排序中: 1 5 32 10 9 7 12 0 4
排序中: 1 5 9 32 10 7 12 0 4
排序中: 1 5 9 10 32 7 12 0 4
排序中: 1 5 9 10 32 7 12 0 4
排序中: 1 5 9 10 32 7 12 0 4
排序中: 1 5 9 10 32 7 12 0 4
排序中: 1 5 9 10 32 7 12 0 4
排序后: 1 5 9 10 32 7 12 0 4

你可能感兴趣的:(java,算法,.net,String,Class)