已知两个有序数组,建立第三个有序数组?
a和b是两个有序数组,把他们的所有数字组成第三个数组L,要求仍按升序排列,我知道我的程序有重复比较的错误,而且不能循环10次,谁能把我这个程序改正确?不要别人的源代码!
main(){
int a[6]={3,5,7,8,9,12};
int b[4]={0,3,6,50};
int L[10];
void compare(int sa[],int sb[],int sL[]);
compare(a,b,L);
return 0;
}
void compare(int sa[],int sb[],int sL[]){
int *psa=sa;
int *psb=sb;
int *psL=sL;
int i,j;
for(i=0;i<6;i++){
for(j=0;j<4;j++){
if(sa[i]<sb[j]){
*psL=sa[i];
}else if(sa[i]>sb[j]){
*psL=sb[j];
}else{
*psL=sa[i]=sb[j];
}
}
psL++;
}
cout<<"=========The L[] is============\n"<<endl;
for(i=0;i<10;i++){
printf("%d\t",sL[i]);
}
}
main(){
int a[6]={3,5,7,8,9,12};
int b[4]={0,3,6,50};
int L[10];
void compare(int sa[],int sb[],int sL[]);
compare(a,b,L);
return 0;
}
void compare(int sa[],int sb[],int sL[]){
int *psa=sa;
int *psb=sb;
int *psL=sL;
int i,j;
for(i=0;i<6;i++){
for(j=0;j<4;j++){
if(sa[i]<sb[j]){
*psL=sa[i];
}else if(sa[i]>sb[j]){
*psL=sb[j];
}else{
*psL=sa[i]=sb[j];
}
}
psL++;
}
cout<<"=========The L[] is============\n"<<endl;
for(i=0;i<10;i++){
printf("%d\t",sL[i]);
}
}
...全文
相关推荐
两个有序数组求交集,C++
自己编写的程序,实现两个有序数组求交集。例如a={1,2,3,4,5,6,7},b={1,3,5,8,9,11},则结果为{1,3,5}
C++实现两个有序数组的合并
主要为大家详细介绍了C++实现两个有序数组的合并,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
将两个有序数组,合并成另一个有序的数组,升序
将两个有序数组,合并成另一个有序的数组,升序。将两个有序数组,合并成另一个有序的数组,升序。将两个有序数组,合并成另一个有序的数组,升序
java实现把两个有序数组合并到一个数组的实例
今天小编就为大家分享一篇java实现把两个有序数组合并到一个数组的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
C++算法:寻找两个有序数组的中位数
算法:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位数是 2.0 示例 2: nums1 = [1, 2] nums2 = [3, 4] 则中位数是 (2 + 3)/2 = 2.5


