合併兩個有序陣列,其中有一個陣列長度足夠長,在O(1)的空間複雜度裡進行合併
#include<bits/stdc++.h>
using namespace std;
void fun(int *a, int *b, int na, int nb, int m){
int i = na - 1, j = nb -1;
int k = na + nb - 1;
while(i >= 0 && j >= 0 && k >= 0){
if(b[j] > a[i]){
a[k] = b[j];
k--;
j--;
}
else{
a[k] = a[i];
k--;
i--;
}
}
while(i >= 0){
a[k--] = a[i--];
}
while(j >= 0){
a[k--] = b[j--];
}
}
int main()
{
int a[10] = {1,5,7,9};
int b[3] = {2,6,8};
fun(a, b, 4, 3, 10);
for(int i = 0;i < 7; ++i){
cout<<a[i]<<" ";
}
return 0;
}
相關文章
- 合併兩個有序陣列陣列
- 兩個有序陣列如何合併成一個有序陣列陣列
- 將兩個有序陣列合併為一個有序陣列陣列
- 88、合併兩個有序陣列陣列
- 88. 合併兩個有序陣列陣列
- 18.合併兩個有序陣列(簡單)陣列
- 【LeetCode】88. 合併兩個有序陣列LeetCode陣列
- js如何合併兩個陣列JS陣列
- js合併兩個陣列物件JS陣列物件
- 每日一道 LeetCode (19):合併兩個有序陣列LeetCode陣列
- LeetCode每日一題:合併兩個有序陣列(No.88)LeetCode每日一題陣列
- LeetCode合併兩個有序陣列(逆向雙指標)LeetCode陣列指標
- 編寫一個函式,實現兩個整型陣列的合併(將兩個整型陣列a和b合併成一個從小到大有序排列的整形陣列c,並在主函式中測試)。函式陣列
- 合併陣列陣列
- 讓我們一起啃演算法----合併兩個有序陣列演算法陣列
- jQuery合併兩個陣列程式碼例項jQuery陣列
- js合併兩個陣列程式碼例項JS陣列
- 【leetcode 簡單】第二十題 合併兩個有序陣列LeetCode陣列
- FLEX合併陣列Flex陣列
- 2個有序陣列,歸併重拍陣列
- js如何合併兩個陣列並且刪除重複的元素JS陣列
- Java 定義長度為 0 的陣列 / 空陣列Java陣列
- js把陣列裡面的所有物件合併成一個物件JS陣列物件
- 如何不用演算法對陣列進行(0時間複雜度,0空間複雜度)排序?演算法陣列時間複雜度排序
- Algorithm 04 : 尋找兩個有序陣列中的第N個數,要求時間複雜度為O(logm+logn)Go陣列時間複雜度
- 字元陣列的長度字元陣列
- javascript實現的合併兩個陣列程式碼例項JavaScript陣列
- 一個整型陣列裡除了一個或者兩個或者三個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。要求時間複雜度是O(n),空間複雜度是O(1)陣列時間複雜度
- C語言中如何求一個陣列的長度C語言陣列
- C++陣列長度C++陣列
- 尋找兩個正序陣列的中位數問題,方法一:合併陣列檢索法陣列
- JS--陣列物件合併JS陣列物件
- JavaScript concat()合併陣列JavaScript陣列
- O1空間複雜度實現陣列迴圈右移_LeetCode189複雜度陣列LeetCode
- 【遞迴打卡1】在兩個長度相等的排序陣列中找到上中位數遞迴排序陣列
- 如何降低空間複雜度 陣列本地操作複雜度陣列
- 演算法合併排序陣列演算法排序陣列
- C#陣列 多個集合和陣列的操作(合併,去重,拆分,判斷)C#陣列