Java50道经典习题-程序28 排序算法
题目:对10个数进行排序
分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。
1 public class Prog28 { 2 public static void main(String[] args) { 3 int [] arr= {1,3,5,7,9,0,2,4,6,8}; 4 //排序前 5 System.out.println("排序前"); 6 for(int k=0;k<arr.length;k++) { 7 System.out.print(" "+arr[k]); 8 } 9 System.out.println(); 10 for(int i=0;i<arr.length;i++) { 11 for(int j=i+1;j<arr.length;j++) { 12 if(arr[i]>arr[j]) { 13 arr[i]=arr[i]+arr[j]; 14 arr[j]=arr[i]-arr[j]; 15 arr[i]=arr[i]-arr[j]; 16 } 17 } 18 } 19 //排序后 20 System.out.println("排序后"); 21 for(int k=0;k<arr.length;k++) { 22 System.out.print(" "+arr[k]); 23 } 24 25 } 26 } 27 /*运行结果 28 排序前 29 1 3 5 7 9 0 2 4 6 8 30 排序后 31 0 1 2 3 4 5 6 7 8 9 32 */