码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序

时间:2016-07-20 19:27:23      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

冒泡排序是最简单的一种排序方法。冒泡排序法通过两层循环实现,外层循环用于控制比较次数(循环数组的长度-1次,因为最后一次循环只剩下一个元素);内层循环用于在其中比较每两个相邻的元素,并进行交换(如果需要)。算法的基本思路是每一次内层循环中一次比较相邻两个数的大小,如果前者大于后者则将两数进行交换。

可以设置一个标志变量,用于标记在一次比较中(一次外层循环中)是否有数据交换,如果没有,说明排序已完成,这时就可以跳出循环,这样就可以减少循环次数,增加程序执行效率。具体代码如下:

package main_package;

import java.util.Arrays;

public class sort {
    
    public static void main(String[] args)
    {
        int[]b=new int[]{4,25,10,95,06,21,92,11};
        boolean isChange=false;//标记是否有交换发生
        int i=1;
        for(;i<b.length;i++)//i表示排序次数
        {
            for(int j=0;j<b.length-i;j++)
            {
                //交换
                if(b[j]>b[j+1])
                {
                    int temp;
                    temp=b[j];
                    b[j]=b[j+1];
                    b[j+1]=temp;
                    isChange=true;
                }
            }
            if(isChange==false)
            {
                break;
            }
            isChange=false;
        }
        System.out.println("冒泡排序结果为:");
        for(int x:b)
        {
            System.out.print(x+" ");
        }
        System.out.println("\n排序次数为:"+i);
        
    }
}

 

冒泡排序

标签:

原文地址:http://www.cnblogs.com/qingergege/p/5689390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!