C语言,设计函数UnionArr(),传入两个已升序排列的数组a和数组b,将这俩个数组合并成一个数组c并保持其有序递增,怎么做
1个回答
关注
展开全部
您好,亲根据您的问题描述,咋这边给您提供的解决方案如下:C语言,设计函数UnionArr(),传入两个已升序排列的数组a和数组b,将这俩个数组合并成一个数组c并保持其有序递增,c语言可根据其合并规则,把两个数合并在一起。具体操作步骤如下:1 .建立一个足够容纳两个数组所有元素的目标数组。如果规则规定将一个数组合并到另一个之中,那么需要保证目标数组有可以容纳两个数组的空间,否则会出现越界。2 .遍历其中一个数组,并赋值到目标数组中。如果是一个数组合并到另一个,那么此步可以省略。3 .遍历另一个数组,按照规则插入到目标数组中。在不同规则下,合并算法会有差异,如将长为lb的B数组附加到长为la的A数组结尾的操作,可以写作。int i;for(i = 0; i < lb; i ++) A[la+i]=B[i];而将长度均为l的数组A,B,交替合并到C中,可以写作。
咨询记录 · 回答于2022-12-12
C语言,设计函数UnionArr(),传入两个已升序排列的数组a和数组b,将这俩个数组合并成一个数组c并保持其有序递增,怎么做
您好,亲根据您的问题描述,咋这边给您提供的解决方案如下:C语言,设计函数UnionArr(),传入两个已升序排列的数组a和数组b,将这俩个数组合并成一个数组c并保持其有序递增,c语言可根据其合并规则,把两个数合并在一起。具体操作步骤如下:1 .建立一个足够容纳两个数组所有元素的目标数组。如果规则规定将一个数组合并到另一个之中,那么需要保证目标数组有可以容纳两个数组的空间,否则会出现越界。2 .遍历其中一个数组,并赋值到目标数组中。如果是一个数组合并到另一个,那么此步可以省略。3 .遍历另一个数组,按照规则插入到目标数组中。在不同规则下,合并算法会有差异,如将长为lb的B数组附加到长为la的A数组结尾的操作,可以写作。int i;for(i = 0; i < lb; i ++) A[la+i]=B[i];而将长度均为l的数组A,B,交替合并到C中,可以写作。
您好,亲根据您的问题描述,咋这边给您提供的解决方案如下:)J21从山小八从山 4/1J1F/J'/uWo#include void main)inta[10],b[10],c[20],j,ia,ib,ic;printf("please input the first array\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)scanf("%d",&b[i]);printf("\n");ia=0;ib=0;ic=0;while(ia<10&&ib<10)くif(a[ia]
看不太清楚啊
好乱啊,而且有乱码啊
您好,亲根据您的问题描述,咋这边给您提供的解决方案如下:merge sort的一个子程序(假设两个数列是由小到大的)void merge(int arr1[],int arr2[],int arr3[],int len1,int len2){//arr1,arr2表示两个数组.arr3是新数组,且长度足够//len1:arr1的长度 len2同理int i=0,j=0,pos=0;for(;i
已赞过
评论
收起
你对这个回答的评价是?