合併兩個有序陣列,其中有一個陣列長度足夠長,在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. 合併兩個有序陣列陣列
- 【LeetCode】88. 合併兩個有序陣列LeetCode陣列
- 18.合併兩個有序陣列(簡單)陣列
- LeetCode每日一題:合併兩個有序陣列(No.88)LeetCode每日一題陣列
- 每日一道 LeetCode (19):合併兩個有序陣列LeetCode陣列
- LeetCode合併兩個有序陣列(逆向雙指標)LeetCode陣列指標
- js合併兩個陣列物件JS陣列物件
- 【leetcode 簡單】第二十題 合併兩個有序陣列LeetCode陣列
- 編寫一個函式,實現兩個整型陣列的合併(將兩個整型陣列a和b合併成一個從小到大有序排列的整形陣列c,並在主函式中測試)。函式陣列
- 讓我們一起啃演算法----合併兩個有序陣列演算法陣列
- 合併陣列陣列
- O1空間複雜度實現陣列迴圈右移_LeetCode189複雜度陣列LeetCode
- 2個有序陣列,歸併重拍陣列
- 如何不用演算法對陣列進行(0時間複雜度,0空間複雜度)排序?演算法陣列時間複雜度排序
- Java 定義長度為 0 的陣列 / 空陣列Java陣列
- js把陣列裡面的所有物件合併成一個物件JS陣列物件
- 字元陣列的長度字元陣列
- 尋找兩個正序陣列的中位數問題,方法一:合併陣列檢索法陣列
- JS--陣列物件合併JS陣列物件
- 【遞迴打卡1】在兩個長度相等的排序陣列中找到上中位數遞迴排序陣列
- C++陣列長度C++陣列
- 如何降低空間複雜度 陣列本地操作複雜度陣列
- 88、合併兩個有序陣列 | 演算法(leetcode,附思維導圖 + 全部解法)300題陣列演算法LeetCode
- Python多個陣列合並(拼接)為一個陣列Python陣列
- 請你告訴我合併兩個陣列,你有多少種方法陣列
- 977.有序陣列的平方 ,209.長度最小的子陣列 ,59.螺旋矩陣II陣列矩陣
- 時間複雜度O(n)和空間複雜度時間複雜度
- 合併兩個有序連結串列
- 兩個有序陣列的中位數陣列
- PHP陣列函式的時間複雜度清單PHP陣列函式時間複雜度
- NumPy 陣列迭代與合併詳解陣列
- MyBatis陣列與集合判斷非空和長度MyBatis陣列
- 刷題系列 - 合併兩個順序佇列為一個新的佇列佇列
- poi報表匯出 複雜匯出 指定合併列和對比重複列合併行動態匯出