合併兩個有序陣列 c

2021-09-10 08:16:09 字數 675 閱讀 2522

題目描述:

給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。

說明:

示例:

輸入:nums1 = [1,2,3,0,0,0], m = 3

nums2 = [2,5,6], n = 3輸出:[1,2,2,3,5,6]

思路1:

建立乙個新的向量陣列,很常規的乙個思路,就是運用雙指標法,依次比較即可。

**:

class solution 

else

}while(i思路2:

不建立額外的陣列,在nums1上進行操作,因為nums1陣列空間足夠大,所以可以從nums1陣列的後面開始進行合併,大體寫法和思路一差不多。

**:

class solution

else

}while(i>=0)

while(j >= 0)

}};

合併兩個有序陣列C

題目描述 有兩個排序的陣列a1和a2,內存在a1的末尾有足夠的空餘空間容納a2。請實現乙個函式,把a2中的所有數字插入到a1中,並且所有的數字是排序的。思路分析 從尾到頭邊比較,邊移入正確的位置,時間複雜度為o n include using namespace std void combin2ar...

合併兩個有序陣列(C )

合併兩個有序陣列 思路兩個陣列都非空 記兩個陣列分別為v1,v2,合併後的陣列為vc,設定兩個指標i j分別指向陣列v1,v2,令i j 0,若v1 i v2 j 則可以一直新增v1的元素到合併後的陣列vc直到條件不滿足,同時修改i 新增v2的元素到vc 如果乙個陣列被遍歷完,則應該終止 新增未遍歷...

合併兩個有序陣列

例如 陣列a1 陣列a2 則合併為a3 思路 依次掃瞄a1和a2的元素 比較當前元素的值,將較小的元素賦給a3,直到乙個陣列掃瞄完畢,然後將另乙個陣列的剩餘元素賦給a3即可。陣列a3的容量需要容納a1和a2兩個陣列和長度和。實現 include include void merge int a1,i...