• 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    • 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
    • 针对所有的元素重复以上的步骤,除了最后一个。
    • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    作者:ityongzhen
    链接:https://juejin.cn/post/6844903982326890504
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    1. static public void bubble(int[] arr) {
    2. int len = arr.length - 1;
    3. for (int i = len; i >= 0; i--) {
    4. boolean f = true;
    5. for (int j = 1; j <= i; j++) {
    6. if (arr[j] < arr[j - 1]) {
    7. int t = arr[j];
    8. arr[j] = arr[j - 1];
    9. arr[j - 1] = t;
    10. f = false; // 没有交换说明有序
    11. }
    12. }
    13. if (f) {
    14. return;
    15. }
    16. }
    17. }