修改選擇排序 Exercise07_20
阿新 • • 發佈:2018-12-25
1 import java.util.Scanner; 2 /** 3 * @author 冰櫻夢 4 * 時間:2018年12月 5 * 題目:修改選擇排序 6 * 7 */ 8 public class Exercise07_20 { 9 public static void main(String[] args){ 10 double[] list=new double[10]; 11 Scanner input=new Scanner(System.in); 12 System.out.println("輸入10個double型別的數: ");13 for(int i=0;i<list.length;i++){ 14 list[i]=input.nextDouble(); 15 } 16 SelectionSort(list); 17 } 18 19 20 21 /** 22 * @param 選擇排序,原來是找到最小值放到第一位,而後修改程式為找到最大值,放到最後一位 23 */ 24 public static void SelectionSort(double list[]){ 25 for(int i=list.length-1;i>0;i--){ 26 double currentMax=list[i]; 27 int currentMaxIndex=i; 28 for(int j=i-1;j>=0;j--){ 29 if(currentMax<list[j]){ 30 currentMax=list[j]; 31 currentMaxIndex=j; 32 }33 } 34 if(currentMaxIndex != i){ 35 list[currentMaxIndex]=list[i]; 36 list[i]=currentMax; 37 } 38 } 39 for(double a:list){ 40 System.out.print(a+" "); 41 } 42 } 43 }