先来个简单的练练手吧~~
欢迎大佬们交流探讨
给出一个有序的整数数组 A 和有序的整数数组 B ,请将数组 B 合并到数组 A 中,变成一个有序的升序数组
数据范围: m,n属于[ 0, 100 ]
注意:
1.保证 A 数组有足够的空间存放 B 数组的元素, A 和 B 中初始的元素数目分别为 m 和 n,A的数组空间大小为 m+n
2.不要返回合并的数组,将数组 B 的数据合并到 A 里面就好了,且后台会自动将合并后的数组 A 的内容打印出来,所以也不需要自己打印
3. A 数组在[0,m-1]的范围也是有序的
思路:先把数组 B 的元素加入到数组 A 中去,然后对数组 A 进行冒泡排序
//核心代码
void merge(int* A, int ALen, int m, int* B, int BLen, int n) {
// write code here
for(int i = 0 ; i < BLen ; i++){
A[ALen+i] = B[i];
}
for(int j = 0 ;j < ALen + BLen ; j++){
for(int k = j + 1 ; k < ALen + BLen ; k++){
if(A[j]>A[k]){
int temp;
temp=A[j];
A[j]=A[k];
A[k]=temp;
}
}
}
}