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 }