Chinaunix首页 | 论坛 | 博客
  • 博客访问: 141054
  • 博文数量: 66
  • 博客积分: 1571
  • 博客等级: 上尉
  • 技术积分: 715
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-24 22:55
文章分类

全部博文(66)

文章存档

2012年(66)

我的朋友

分类: C/C++

2012-05-17 13:13:57

public class Testjava {
   public static void main(String[] args) {
   int score[]={66,89,87,69,90,100,75,90};
        for(int i=0;i        {
         for(int j=0;j       
           {
               if(score[i]
                {int temp;
                 temp=score[i];
                  score[i]=score[j];
                  score[j]=temp;
               }
          }
    }
}
个人分析的思想:
欲排序数组中的最大值为max,数组第一个元素为m0
i=0时,第一个比m0大的值x1与m0交换位置,m0放在某位置上:m0
       j继续循环,找到比x1大的值x2交换,x1放在m0的后面 : m0 x1
       j继续循环,找到比x2大的值x3交换,x2放在x1的后面 : m0 x1 x2
        .........
       j循环结束,a[0]=max,后面元素基本有序。
i=1时,第一个比a[1]大的值与a[1]交换位置,...........
       ..........
       j循环结束,a[1]=max,后面的元素进一步有序
.........
i=a[].length时,a[i]=max,数组全部有序。
阅读(1158) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~