A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 葛杨杨 中级黑马   /  2013-5-8 02:42  /  2997 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

理论上应该不会有比这个更简短的了, 大家看一看吧, 对于还没有搞清楚函数封装和调用的同学, 这个应该比较好理解一点
public class BubbleSort{
        public static void main(String args[]){
                int[] array ={63,4,24,1,3,15};
                                for (int i=1;i<array.length; i++){
                        for (int j=0;j<array.length-i;j++){
                                if (array[j]>array[j+1]){
                                        int temp=array[j];
                                        array[j]=array[j+1];
                                        array[j+1]=temp;
                                }
                        }
                }
                for (int i: array){
                        System.out.print(">"+i);
                }               
        }       
}

11 个回复

倒序浏览
这样看起来比较工整一点:
public class BubbleSort{
        public static void main(String args[]){
                int[] array ={1,9,8,5,0,8,0,3};                       
                for (int i=1;i<array.length; i++){               
                        for (int j=0;j<array.length-i;j++){
                                if (array[j]>array[j+1]){               
                                        int temp=array[j];
                                        array[j]=array[j+1];
                                        array[j+1]=temp;
                                }
                        }
                }
                for (int i: array){
                        System.out.print(">"+i);
                }               
        }        
}
回复 使用道具 举报
复制下来 以后备用{:soso_e141:}
回复 使用道具 举报
葛杨杨 发表于 2013-5-8 03:33
这样看起来比较工整一点:
public class BubbleSort{
        public static void main(String args[]){

楼主啊,这个很简很简啦,不过我怎么看怎么觉得那个数组内容这么熟悉呢,这是意味着咱们同一天生日吗?吗?吗...?
回复 使用道具 举报
这个哪里精简了,我咋看不出来...标准的不就是这么写么?
回复 使用道具 举报
应该是输出精简了{:soso_e100:}
回复 使用道具 举报
  1. import java.util.*;
  2. class ArraysDemo
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 int [] num = {1,8,5,3,7,2,4,-1,8,22};//定义个无序的数组
  7.                 Arrays.sort(num);                                        //调用Arrays.sort(char[] a)工具类,进行升序排序
  8.                
  9.                 for(int i : num)                                        //高级for循环输出
  10.                         System.out.print((int)i+"\t");        //转换成int输出
  11.         }
  12. }
复制代码
这样更精简了{:soso_e100:}
回复 使用道具 举报
葛杨杨 发表于 2013-5-8 03:33
这样看起来比较工整一点:
public class BubbleSort{
        public static void main(String args[]){

不错不错~
回复 使用道具 举报
陈山洪 来自手机 高级黑马 2013-5-9 20:39:23
9#
你确定这代码没有发生异常?@_@
回复 使用道具 举报
陈山洪 发表于 2013-5-9 20:39
你确定这代码没有发生异常?@_@

能变异能运行, 确定没异常
回复 使用道具 举报
for (int j=0;j<array.length-i;j++){   
这里因该是
for (int j=0;j<array.length-1-i;j++){
更严谨
回复 使用道具 举报
{:soso_e117:}有精简么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马