#include<iostream>
using namespace std;
int main()
{
int a[6]={1,3,5,7,9,11},b[4]={2,4,6,8},c[10];
int i,j1=0,j2=0;
/*for(i=0;i<10;i++){
if(a[j1]<b[j2]){
c[i]=a[j1];
j1++;
if(j1==6){
i++;
while(j2<4){
c[i]=b[j2];
j2++;
i++;
}
}
}
else{
c[i]=b[j2];
j2++;
if(j2==4){
i++;
while(j1<6){
c[i]=a[j1];
j1++;
i++;
}
}
}
}*/
int *p1,*p2;
p1=a;
p2=b;
for(i=0;i<10;i++){
if(*p1<*p2){
c[i]=*p1;
p1++;
if(p1==a+6){
i++;
while(p2<b+4){
c[i]=*p2;
p2++;
i++;
}
}
}
else{
c[i]=*p2;
p2++;
if(p2==b+4){
i++;
while(p1<a+6){
c[i]=*p1;
p1++;
i++;
}
}
}
}
for(i=0;i<10;i++){
printf("%d ",c[i]);
}
printf("\n");
return 0;
}
二路归并
最新推荐文章于 2023-11-02 21:00:52 发布