冒泡排序

1. 思想

Java stream

2. 代码

根据以上分析, 将其转化为对应代码时关键点有两个:
\(step 1\)  首先遍历所有元素;
\(step 2\)  当遍历至元素\(arr[i]\)时, 比较其后面的所有元素\(arr[j](j > i)\)\(arr[i]\)的大小。若\(arr[j]<arr[i]\), 则执行swap function

public void bubbleSort(int[] arr) {
    for (int i = 0; i < arr.length; i++) {
        for (int j = i + 1; j < arr.length; j++) {
            if (arr[j] < arr[i]) {
                int tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
        }
    }
}

Note: 以上代码是按照升序(从小到大)排列的,如果要按降序如何改变代码?
只需将上述if (arr[j] < arr[i])改为if (arr[j] > arr[i]),也就是后者元素如果大于前者才进行交换,那么大数就排到了前面。

posted @ 2020-07-08 10:22  Maverickos  阅读(101)  评论(0)    收藏  举报