#include#include //有兩個排序的陣列a1和a2,內存在a1的末尾有足夠多的剩餘空間容納a2
//實現乙個函式將a2中所有的數字插入到a1,並寫所有的數字是排序的。
//自己寫的,用例不多,還需進一步測試
void merge(int array1,int array2,int length,int i,int j)
else
}if(i>=0) }
if(j>=0) }
}//判斷兩個陣列是否相同
//===測試用例====
bool issame(int a, int b, int i, int j)
return true;
}void test(char * testname,int array1, int array2, int length, int i,int j,int expected, int k)
void test1()
; int array2=;
int expected=;
test("test1", array1, array2, 20, 3, 3, expected, 6);
}void test2()
; int array2=;
int expected=;
test("test2", array1, array2, 20, 3, 3, expected, 6);
}void test3()
; int array2=;
int expected=;
test("test3", array1, array2, 20, 0, 3, expected, 3);
}void test4()
; int array2=;
int expected=;
test("test4", array1, array2, 20, 3, 0, expected, 3);
}void test5()
; int array2=;//有乙個元素為0,但定義的長度為0
int expected=;// int expected;編譯通不過,必須制定陣列長度;int expected={}這樣也有問題
//int (*p)[1]=&expected;//陣列指標,p指向含有乙個元素的陣列,定義的時候1必須要有
//int * p[1];//指標陣列,含有乙個元素,元素的型別為指標
test("test5", array1, array2, 20, 0, 0, expected, 0);
}void main()
劍指offer總結 面試相關題 合併有序陣列
題目 有兩個排序的陣列a1和a2,內存在a1的末尾有足夠多的空餘空間容納a2.請實現乙個函式,把a2中的所有數字插入到a1中,並且所有的數字都是有序的。實現1 返回新陣列 要點 要返回乙個新陣列,這個陣列在函式中需要用new的方式申請記憶體,這樣的陣列儲存與堆中,在函式返回後並不會銷毀,並且要在函式...
合併有序陣列
時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述 給你兩個有序且公升序的陣列,請你把它們合成乙個公升序陣列並輸出 give you two ordered ascending array,you put them into one ascending array and ou...
合併有序陣列
描述 給你兩個有序整數陣列 nums1 和 nums2,請你將 nums2 合併到 nums1 中,使 num1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n 你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 nums2 中的元素。...