美文网首页
一种改进的冒泡排序(抖动排序、双边冒泡排序)

一种改进的冒泡排序(抖动排序、双边冒泡排序)

作者: 胶布小子 | 来源:发表于2018-08-17 15:25 被阅读0次

    本文为原创文章,转载请注明出处,谢谢你……

    喜欢java并发编程的请加群:736156823
    开始-->
    冒泡排序(抖动排序、双边冒泡排序)
    代码如下:

        // 有效的数组下标
        public void shardingBubble(int a[], int left, int right) {
            if (null == a) {
                return;
            } else if (left < 0 || right < 0) {
                return;
            } else if (a.length <= 0) {
                return;
            } else if (right - left <= 0) {
                return;
            } else {
                int lf = left;
                int rf = right;
                out:
                for (int i = 0; i <= right; i++) {
                    // 从右边开始,也就是小的上浮
                    if ((i % 2) == 0) {
                        boolean swap = false;
                        for (int j = rf; j > lf; j--) {
                            if (a[j] < a[j - 1]) {
                                swap(a, j - 1, j);
                                swap = true;
                            }
                        }
                        lf = lf + 1;
                        if (!swap) {
                            break out;
                        }
                    } else {
                        // 从左边开始,也就是大的下沉
                        boolean swap = false;
                        for (int k = lf; k < rf; k++) {
                            if (a[k] > a[k + 1]) {
                                swap(a, k, k + 1);
                                swap = true;
                            }
                        }
                        rf = rf - 1;
                        if (!swap) {
                            break out;
                        }
                    }
                    if (lf >= rf) {
                        break out;
                    }
                }
            }
        }
    

    喜欢java并发编程的请加群:736156823

    有问题欢迎指正,这是新鲜出炉的
    代码未全面测试,留给你吧,哈哈……
    结束-->
    本文为原创文章,转载请注明出处,谢谢你……

    相关文章

      网友评论

          本文标题:一种改进的冒泡排序(抖动排序、双边冒泡排序)

          本文链接:https://www.haomeiwen.com/subject/beftiftx.html