什么是合并两个未分类数组而不使用第三个数组的C代码是什么? 例如 array1 = {1,3,5,7} array2 = {2,4,6} 输出应该是 array1 = {1,2,3,4,5,6,7}。不使用第三个数组合并两个数组
这是我写的代码。但是,如果数组元素的数量在两个数组中都是相同的,那么这种方法是行不通的。让我帮助我解决这个错误。
void merge(int a[],int b[],int ele1,int ele2)
{
int i,j,k,ele3;
ele3=ele1+ele2;
for(i=1,k=0;k<ele2;i=i+2)
{
j=ele1;
while(j>=i)
{
a[j]=a[j-1];
j--;
}
a[j+1]=b[k];
k++;ele1++;
}
for(i=0;i<ele3;i++)
printf("%d ",a[i]);
}
main()
{
int a[]={1,3,5},b[]={2,4},ele1,ele2;
ele1=sizeof(a)/sizeof(a[0]); ele2=sizeof(b)/sizeof(b[0]);
merge(a,b,ele1,ele2);
}
是否有任何人第2个阵列有足够的空间来容纳? –
问题中没有提及任何内容。这是我得到的一个采访问题。他们说你想问我是否有内存 –
你说未排序的数组,但给出的例子是用于排序数组。 –