【选择排序】
排序常常用到,我们可以遐想,在excel里,当用户用来排成绩高低时,便会用到排序算法,下面谈谈选择排序,
排序思想:从所有待排数据中找出最小的数据放在起始位置,再找出第二小的数据放在起始位置的后一位置,以此类推。
实现思路:数组里的第一个元素先和第二个元素比较,若第二个小,换位置,再让第一元素和第三元素比较...;找到最小元素后,让第二元素和第三元素比较,以此类推。
1 //数组选择排序。 2 public class Array 3 { 4 public static void main(String[] args) 5 { 6 int[] arr = {34,19,11,109,3,56}; 7 System.out.print("排序前:"); 8 printArray(arr); 9 System.out.println(); 10 selectSort(arr); 11 System.out.print("排序后:"); 12 printArray(arr); 13 } 14 public static void printArray(int[] arr) //提高程序的复用性 15 { 16 System.out.print("["); 17 for(int x=0;x<arr.length; x++) 18 { 19 if(x!=arr.length-1) 20 System.out.print(arr[x]+","); 21 else 22 System.out.print(arr[x]+"]"); 23 } 24 } 25 //遍历数组功能。 26 public static void selectSort(int[] arr) //返回值类型为void,数组里面的数据已被更改过,故不用返回 27 { 28 for(int x = 0;x<arr.length-1;x++ ) //外循环最后的一个数不需要比较 29 { 30 for(int y = x+1;y<arr.length;y++) //内循环比较的是外循环当前值的后面数值 31 { 32 if(arr[x]>arr[y]) 33 { 34 int temp = arr[x]; 35 arr[x] = arr[y]; 36 arr[y] = temp; 37 } 38 } 39 } 40 } 41 42 43 }
运行结果:
该程序很好第地体现了代码的复用性,java函数封装。