成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何用C++實(shí)現(xiàn)混合插入有序數(shù)組

本文小編為大家詳細(xì)介紹“如何用C++實(shí)現(xiàn)混合插入有序數(shù)組”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“如何用C++實(shí)現(xiàn)混合插入有序數(shù)組”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括喀什網(wǎng)站建設(shè)、喀什網(wǎng)站制作、喀什網(wǎng)頁(yè)制作以及喀什網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,喀什網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到喀什省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

混合插入有序數(shù)組

Example:

Input:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3

Output: [1,2,2,3,5,6]

混合插入有序數(shù)組,由于兩個(gè)數(shù)組都是有序的,所有只要按順序比較大小即可。題目中說(shuō)了 nums1 數(shù)組有足夠大的空間,說(shuō)明不用 resize 數(shù)組,又給了m和n,那就知道了混合之后的數(shù)組的大小,這樣就從 nums1 和 nums2 數(shù)組的末尾開(kāi)始一個(gè)一個(gè)比較,把較大的數(shù),按順序從后往前加入混合之后的數(shù)組末尾。需要三個(gè)變量 i,j,k,分別指向 nums1,nums2,和混合數(shù)組的末尾。進(jìn)行 while 循環(huán),如果i和j都大于0,再看如果 nums1[i] > nums2[j],說(shuō)明要先把 nums1[i] 加入混合數(shù)組的末尾,加入后k和i都要自減1;反之就把 nums2[j] 加入混合數(shù)組的末尾,加入后k和j都要自減1。循環(huán)結(jié)束后,有可能i或者j還大于等于0,若j大于0,那么還需要繼續(xù)循環(huán),將 nums2 中的數(shù)字繼續(xù)拷入 nums1。若是i大于等于0,那么就不用管,因?yàn)榛旌蠑?shù)組本身就放在 nums1 中,參見(jiàn)代碼如下:

解法一: 

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int i = m - 1, j = n - 1, k = m + n - 1;
        while (i >= 0 && j >= 0) {
            if (nums1[i] > nums2[j]) nums1[k--] = nums1[i--];
            else nums1[k--] = nums2[j--];
        }
        while (j >= 0) nums1[k--] = nums2[j--];
    }
};

我們還可以寫(xiě)的更簡(jiǎn)潔一些,將兩個(gè) while 循環(huán)融合到一起,只要加上 i>=0 且 nums1[i] > nums2[j] 的判斷條件,就可以從 nums1 中取數(shù),否則就一直從 nums2 中取數(shù),參見(jiàn)代碼如下:

解法二:

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int i = m - 1, j = n - 1, k = m + n - 1;
        while (j >= 0) {
            nums1[k--] = (i >= 0 && nums1[i] > nums2[j]) ? nums1[i--] : nums2[j--];
        }
    }
};

讀到這里,這篇“如何用C++實(shí)現(xiàn)混合插入有序數(shù)組”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)題目:如何用C++實(shí)現(xiàn)混合插入有序數(shù)組
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article40/iicoho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)網(wǎng)站內(nèi)鏈、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
新郑市| 沁水县| 洮南市| 阿合奇县| 桐柏县| 河曲县| 闽清县| 山东省| 菏泽市| 孝感市| 资源县| 岚皋县| 彭州市| 莱阳市| 鄂伦春自治旗| 乌海市| 广河县| 察雅县| 漳平市| 前郭尔| 长沙市| 台东县| 荥阳市| 永兴县| 西畴县| 镶黄旗| 桐庐县| 海盐县| 余干县| 保靖县| 岳池县| 南投县| 沙雅县| 中卫市| 惠水县| 渭南市| 灵武市| 万年县| 玉环县| 昌都县| 五台县|