冒泡排序(附图)

冒泡排序可以从小到大或者从大到小的排序。以从小到大排序为例,讲究的是把当前下标和下标+1的两个数进行比较,如果大于则交换位置,然后下标+1,挨个往后面的下标一次次比较,怎么实现呢?请看下面代码和图解

public void mppx(int arr[]) {    //冒泡排序方法
        int len = arr.length;  //数组长度
        int temp = 0;  //临时变量(作用于交换时)
        
        for (int i=0; i<len-1; i++) {  //外层循环中,循环次数应为数组长度len-1次
            for (int j=0; j<len-1-i; j++) {  //随着排序结果慢慢出现,比较的下标每轮-1
                if (arr[j] > arr[j+1]) {  //如果第0个下标 大于 第1个下标那么交换数字,很明显是一个从小到大的排序
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
    }

猜你喜欢

转载自www.cnblogs.com/z1110/p/11243240.html