用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

Java实现冒泡排序

2015-12-22 作者: java源代码大全举报

[java]代码库

数组arr: | 13 | 12 | 18 | -3 | 0  |
第一轮    --------------------------
第一次:   | 12 | 13 | 18 | -3 | 0  |  //a[0]与a[1]比较,将值大的放在a[1];
          <-------->
第二次:   | 12 | 13 | 18 | -3 | 0  |  //a[1]与a[2]比较,将值大的放在a[2];
               <-------->
第三次:   | 12 | 13 | -3 | 18 | 0  |  //a[2]与a[3]比较,将值大的放在a[3];
                    <-------->
第四次:   | 12 | 13 | -3 | 0  | 18 |  //a[3]与a[4]比较,将值大的放在a[4];
                         <-------->
第二轮    --------------------------
第一次:   | 12 | 13 | -3 | 0  | 18 |  //a[0]与a[1]比较,将值大的放在a[1];
          <-------->
第二次:   | 12 | -3 | 13 | 0  | 18 |  //a[1]与a[2]比较,将值大的放在a[2];
               <-------->
第三次:   | 12 | -3 | 0  | 13 | 18 |  //a[2]与a[3]比较,将值大的放在a[3];
                    <-------->
第三轮    --------------------------
以此类推...
    /*
     *需求:冒泡比较
     *
     *思想:每轮的循环 --- 外循环;
     *     每次的循环 --- 内循环;
     *     外循环增加一次,内循环参数与比较的元素个数递减;
    */
    public static void bubbleSort(int[] arr)
    {
        for(int i=0;i<arr.length-1;i++) //每轮的循环,找到最大值,放到最后。
        {
            for(int j=0;j<arr.length-1-i;j++)  
            //每次的循环,
            //arr.length-1:不会越界; 
            //arr.length-1-i:为了让外循环增加一次,内循环参数与比较的元素个数递减
            {
                if(arr[j]>arr[j+1]) //两个相邻的数据值比较,值大的放到后面的数组元素。
                {
                    int temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }
    public static void bubbleSort(int[] arr)
    {
        for(int i=arr.length-1;i>0;i--) //需要比较的轮数。
        {
            for(int j=0;j<i;j++)  //需要比较次数
            {
                if(arr[j]>arr[j+1]) //两个相邻的数据值比较,值大的放到后面的数组元素。
                {
                    int temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }//源代码片段来自云代码http://yuncode.net
			


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...