选择排序算法的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 }
View Code

写了一个多小时,调试,发觉代码有好多问题,改了好多次,终于成功。

完全靠自己写出来了,今晚奖励一下自己,哈哈。

不过代码肯定可以优化的,比如少用变量,节约内存--等大脑休息好了,再看看。

 

 

小小程序员--一直很安静的我。

posted on 2013-08-23 16:49  一直很安静的我  阅读(126)  评论(0)    收藏  举报

导航