选择排序算法的JAVA实现
1 public class Sort_Select { 2 3 /** 4 *@author hanxin 5 *标题:选择排序算法 6 */ 7 //待排序数组 8 public static int[] array={12,32,34,21,32,56,3,1,3,8}; 9 10 public static int[] sort(int [] array) 11 { 12 int max;//记录每次循环时获取的数组元素的最大值,第一次循环时获得的是数组最大元素,第二次是第二大元素 13 int position; 14 for(int i=0;i<array.length;i++) 15 { 16 max=array[i];//max初始值 17 position=i;//位置索引很重要,要不会有可能使用上一次循环position的值 18 for(int j=i+1;j<array.length;j++)//j=i+1不然会与排好的数组元素再对比 19 { 20 if(max<array[j]) 21 { 22 max=array[j]; 23 position=j; 24 } 25 } 26 array[position]=array[i]; 27 array[i]=max; 28 } 29 return array; 30 } 31 /** 32 * @param args 33 */ 34 public static void main(String[] args) { 35 // TODO Auto-generated method stub 36 int [] downaort=sort(array); 37 for(int i=0;i<downaort.length;i++) 38 { 39 System.out.println(downaort[i]); 40 } 41 } 42 }
写了一个多小时,调试,发觉代码有好多问题,改了好多次,终于成功。
完全靠自己写出来了,今晚奖励一下自己,哈哈。
不过代码肯定可以优化的,比如少用变量,节约内存--等大脑休息好了,再看看。
小小程序员--一直很安静的我。
浙公网安备 33010602011771号