一个小题目不会做了
一个小题目不会做了求助
数组a、b中各有10个整数按从小到大的顺序存放,编写程序将a、b中的整数存放到数组c中并按照从小到大的顺序排列。
------解决方案--------------------
把a和B的数组的元素都考到C,再对C排序
------解决方案--------------------
提供个伪代码
void MergeTwoSortedArray ( int a1[] , int m1 ,int a2[] ,int m2,int a3,int n)
{
//n==m1+m2
//参数不检查
int i, j,k;
i=j=k=0;
while( i<m1 || j<m2 )
{
if(a1[i]<a2[j])
{
c[k++]=a1[i++];
}
else
{
c[k++]=a2[j++];
}
}
//检测是否都已经归并完毕
if(i<m1)
{
while(i<m1)c[k++]=a1[i++];
}
if(j<m2)
{
while(j<m2) c[k++]=a2[j++];
}
}
------解决方案--------------------
这个法子不错
谁帮我估算一下2楼的时间复杂度
------解决方案--------------------
如果m1 > m2 则时间复杂度为O(m1),否则为O(m2)。
数组a、b中各有10个整数按从小到大的顺序存放,编写程序将a、b中的整数存放到数组c中并按照从小到大的顺序排列。
------解决方案--------------------
把a和B的数组的元素都考到C,再对C排序
------解决方案--------------------
提供个伪代码
void MergeTwoSortedArray ( int a1[] , int m1 ,int a2[] ,int m2,int a3,int n)
{
//n==m1+m2
//参数不检查
int i, j,k;
i=j=k=0;
while( i<m1 || j<m2 )
{
if(a1[i]<a2[j])
{
c[k++]=a1[i++];
}
else
{
c[k++]=a2[j++];
}
}
//检测是否都已经归并完毕
if(i<m1)
{
while(i<m1)c[k++]=a1[i++];
}
if(j<m2)
{
while(j<m2) c[k++]=a2[j++];
}
}
------解决方案--------------------
这个法子不错
谁帮我估算一下2楼的时间复杂度
------解决方案--------------------
如果m1 > m2 则时间复杂度为O(m1),否则为O(m2)。