冒泡排序

package sorted;

public class BubbleSorted {
    public static void main(String[] args) {
        int [] array ={6,5,4,3,2,1,9};
        BubbleSorted bs = new BubbleSorted();
        bs.bubble(array);
        for (int i :
             array) {
            System.out.println(i);
        }

    }

    public void bubble(int[] array) {
        int temp = 0;
        boolean flag;//判该次循环是否有位置改变,冒泡优化1
        int sortedborder = array.length-1;
        int lastexchange = 0;//记录右边有序范围,冒泡优化2
        for (int i = 0; i < array.length - 1; i++) {
            flag = false;
            for (int j = 0; j < sortedborder; j++) {
                if (array[j] > array[j + 1]) {
                    flag = true;
                    temp = array[j + 1];
                    array[j + 1] = array[j];
                    array[j] = temp;
                    lastexchange = j;
                }
            }
            sortedborder = lastexchange;
            if (!flag){
                break;
            }
        }

    }
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容