我就不吃芹菜

导航

 
 1  //直接选择排序
 2                 int[] array = { 63, 4, 24, 1, 3, 15 };
 3                 int j; int t;
 4                 for(int i = 1; i < array.length; i++)
 5                 {
 6                     int n = 0;
 7                     for(j = 1; j <=  array.length - i; j++)        //当i等于5的时候还要有一次比较
 8                     {                                                                 //若j<array.length,则内部少一次循环
 9                         if(array[j] > array[n])
10                         {
11                             n = j;
12                         }
13                     }
14                     t = array[(array.length - i )];
15                     array[(array.length - i )] = array[n];
16                     array[n] = t;
17                 }
18                 for(int r : array)
19                 {
20                     System.out.print(r + " ");
21                 }
22         System.out.println();
23         
24         
25         //反转排序
26         int changdu = array.length/2; 
27         int q = 0;
28         for(int m = 0; m < changdu; m++)
29         {
30             q = array[(array.length - 1) - m];
31             array[(array.length - 1) - m] = array[m];
32             array[m] = q;
33         }
34         for(int e : array)
35         {
36             System.out.print(e + " ");
37         }

 

这两段程序代码是接在一起的,排序中需要注意的最大的问题就是判断好整个排序需要几次,这几种排序方式其实都是大同小异的,仔细观察,多思考,细心一点就能看懂基本思想和课本的算法。

查看具体的排序种类点击这个http://www.cnblogs.com/sevenyuan/archive/2009/12/04/1616897.html

posted on 2015-10-12 23:44  我就不吃芹菜  阅读(208)  评论(0编辑  收藏  举报