題目
由兩個有序數組A1和A2,A1末尾有足夠多的空余空間容納A2,請實現一個函數,把A2中的所有數字插入到A1中,且所有的數字是排序的。
要求
在A1中做插入,時間復雜度O(n)
思路
step1. 求出A1和A2的數組長度
step2. 從后向前遍歷。p1指向A1尾部,p2指向A2尾部,p3指向新的A1尾部。比較p1和p2的大小,把大的存到p3處,移動相關的指針。
step3. 可能存在A1和A2一個走完了,一個沒走完。把沒走完的直接復制給p3即可。
由兩個有序數組A1和A2,A1末尾有足夠多的空余空間容納A2,請實現一個函數,把A2中的所有數字插入到A1中,且所有的數字是排序的。
在A1中做插入,時間復雜度O(n)
step1. 求出A1和A2的數組長度
step2. 從后向前遍歷。p1指向A1尾部,p2指向A2尾部,p3指向新的A1尾部。比較p1和p2的大小,把大的存到p3處,移動相關的指針。
step3. 可能存在A1和A2一個走完了,一個沒走完。把沒走完的直接復制給p3即可。