有序陣列的合併

2021-08-04 23:01:53 字數 611 閱讀 4613

#includeusing namespace std;

#define size 1024

/*1、如果可以申請輔助空間,那麼從前從後倒是沒什麼所謂吧,這就像是歸併的一次歸併了。*/

void merge_1(int *arr,int lenarr,int *brr,int lenbrr)

} while(low1 < lenarr ) //如果串1沒完,則繼續走串1

while(low2 < lenbrr) //如果串2沒完,則繼續走串2

for(int i=0;i=0 && high2>=0)

while(arr[high1] < brr[high2] && high2 >= 0)

}while(high1 >=0 ) //如果串1沒完,則繼續走串1

while(high2 >= 0 ) //如果串2沒完,則繼續走串2 }

int main()

; int brr[size] = ;

//merge_1(arr,5,brr,8);

merge_2(arr,5,brr,8);

for(int i=0;i<13;++i)

cout<}

合併有序陣列

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述 給你兩個有序且公升序的陣列,請你把它們合成乙個公升序陣列並輸出 give you two ordered ascending array,you put them into one ascending array and ou...

合併多個有序陣列

合併m個有序陣列。解析 1 歸併排序的變形。兩兩歸併,假設所有元素和為n,由於歸併排序的複雜度為o nlogn 則即使最後一路歸併複雜度都至少了o nlogn log為以2為底。2 將所有的元素放到乙個陣列中,直接進行排序,複雜度為o nlogn 3 堆排序的變形,使用優先順序佇列,建立乙個m的小堆...

合併有序陣列

描述 給你兩個有序整數陣列 nums1 和 nums2,請你將 nums2 合併到 nums1 中,使 num1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n 你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 nums2 中的元素。...