JAVA 冒泡排序


冒泡排序就是排序过程中总是大数往前放,小数往后放,相当于气泡往上升,所以称作冒泡排序

依次比较相邻的两个数,将大数放在前面,小数放在后面。即首先比较第1个和第2个数,将大数放前,小数放后。然后比较第2个数和第3个数,将大数放前,小数放后,如此继续,直至比较最后两个数,将大数放前,小数放后,此时第一趟结束,在最后的数必是所有数中的最小数。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将大数放前,小数放后,一直比较到最小数前的一对相邻数,将大数放前,小数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。

下面给出i的循环次数

第一次i=0,(j=1->2->3->.......................7);j  7次


第二次i=1,(j=2->3->4->........................7);j  6次

。。。。。。。。。。。。。。。。

第7次i=6,(j=7);j 1次


public class test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
     int a[]={3,5,1,2,7,8,4,6};
     maopao(a);
    }

//算法如下..........................................
   public static void maopao(int []a) {
    for (int i = 0; i < a.length; i++) {
        for (int j = i+1; j < a.length; j++) {
            if (a[i]<a[j]) {
                int temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }

//...............................................................
    for (int i : a) {
        System.out.println(i+" ");
    }
   }
}

输出结果
8
7
6
5
4
3
2
1

相关内容