<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++

    主站蜘蛛池模板: h视频在线观看免费| 一区二区三区免费在线观看| 亚欧免费一级毛片| 亚洲国产成人久久综合碰碰动漫3d | 亚洲白嫩在线观看| 国产精品久久久久久亚洲影视| 成人免费午夜无码视频| 亚洲精品无码不卡在线播放HE| 黄桃AV无码免费一区二区三区| 久久久久噜噜噜亚洲熟女综合| 波霸在线精品视频免费观看| 亚洲av午夜成人片精品网站| 日韩精品人妻系列无码专区免费 | 中国亚洲女人69内射少妇| a一级爱做片免费| 亚洲va无码手机在线电影| 免费国产黄网站在线观看视频| 中文字幕亚洲综合久久| 啦啦啦中文在线观看电视剧免费版 | 免费观看一区二区三区| 免费看男女下面日出水视频| 免费看黄网站在线看 | 无码人妻AV免费一区二区三区| 337p日本欧洲亚洲大胆精品555588| 国产1000部成人免费视频| 亚洲最大的成人网| 亚洲无码视频在线| 黄色免费网址大全| 亚洲AV无码专区电影在线观看| 免费AA片少妇人AA片直播| 小说专区亚洲春色校园| 久久精品国产69国产精品亚洲| 91网站免费观看| 人妻仑乱A级毛片免费看| 亚洲国产精品国产自在在线| 老司机69精品成免费视频| 亚洲中文字幕无码中文字| 国产亚洲精品影视在线产品| 久草视频免费在线| 有码人妻在线免费看片| 亚洲国产精品日韩在线|