<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    so true

    心懷未來,開創未來!
    隨筆 - 160, 文章 - 0, 評論 - 40, 引用 - 0
    數據加載中……

    partition of quick sort

        int partition(vector<int>& nums, int i, int j) {
            int pivot = i++;
            while (true) {
                while (i <= j && nums[i] <= nums[pivot]) ++i; //a
                while (j >= i && nums[j] >= nums[pivot]) --j; //b
                if (i > j) {
                    break;
                }
                int t = nums[i]; nums[i++] = nums[j]; nums[j--] = t; //c
            }
            int t = nums[j]; nums[j] = nums[pivot]; nums[pivot] = t;
            return j;
        }
    上面這段代碼里,細節太多太多,居然搞了一晚上才搞出來,總的來說大方向上:
    1. 要確保最后能i > j才能終止(其實終止的時候,是一定滿足j + 1 == i的);
    2. 因為保留的是最左側的數為基準,排序目標是從左到右按照從小到大排,因此最后要把pivot和j交換;
    3. //a和//b里,其實只要有一個nums[i]/nums[j]和nums[pivot]的等于判斷就可以了,這里為了一致性,都保留了對等于的判斷;
    4. //c里增加了i和j各自挪一步的操作,因此如下寫法更好:
        int partition(vector<int>& nums, int i, int j) {
            int pivot = i++;
            while (true) {
                while (i <= j && nums[i] <= nums[pivot]) ++i;
                while (j >= i && nums[j] >= nums[pivot]) --j;
                if (i > j) {
                    break;
                }
                swap(nums[i++], nums[j--]);
            }
            swap(nums[pivot], nums[j]);
            return j;
        }

    posted on 2017-11-26 00:03 so true 閱讀(167) 評論(0)  編輯  收藏 所屬分類: C&C++

    主站蜘蛛池模板: 日本人护士免费xxxx视频| 99在线精品免费视频九九视| 国产男女猛烈无遮档免费视频网站 | 女人让男人免费桶爽30分钟| 亚洲一级毛片在线观| 99re在线这里只有精品免费| 亚洲精品视频在线| 国产成人免费在线| 亚洲人成网站在线观看播放动漫| 亚洲电影免费观看| 亚洲乱码日产精品一二三| 日本v片免费一区二区三区| 国内成人精品亚洲日本语音| 伊在人亚洲香蕉精品区麻豆| 黄网站在线播放视频免费观看| 亚洲av无码成人精品区| a级毛片免费全部播放| 亚洲avav天堂av在线不卡| 91免费人成网站在线观看18| 一本色道久久88亚洲精品综合| 成人免费视频88| 日本精品久久久久久久久免费| 亚洲综合精品网站| 亚洲视频在线免费观看| 亚洲人成伊人成综合网久久| 成年女人免费v片| 国产精品免费久久久久影院 | 亚洲高清视频一视频二视频三| a级毛片免费观看在线| 久久水蜜桃亚洲av无码精品麻豆| 国产福利在线免费| 最好2018中文免费视频| 久久精品国产亚洲av麻豆| 亚洲欧洲免费无码| 曰批免费视频播放在线看片二| 日本红怡院亚洲红怡院最新| 国产成人免费网站| 一区在线免费观看| 亚洲免费电影网站| 亚洲综合色成在线播放| 曰曰鲁夜夜免费播放视频|