数据结构 每日一练:编程

先来个简单的练练手吧~~

欢迎大佬们交流探讨

数据结构 每日一练:编程_第1张图片

给出一个有序的整数数组 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;
            }
        }
    }
}

你可能感兴趣的:(数据结构,数据结构,算法,每日一练)