算法描述:
两个有序数组的合并算法
void addArray(int *ch,int *addch,int len1,int len2)
{
int *addcur=addch+len2-1;
int *cur=ch+len1-1;
int *targetch=ch+len1+len2-1;
while(targetch>=ch)
{
if(addcur>=addch && cur>=ch)
{
if(*addcur>*cur)
{
*targetch=*addcur;
addcur--;
}else
{
*targetch=*cur;
cur--;
}
targetch--;
}else if(addcur>=addch)
{
*targetch--=*addcur--;
}else
{
break;
}
}
}
int main()
{
//ifstream cin("input.txt");
int ch[100]={112,113,115,120};
int addch[]={21,40,110};
addArray(ch,addch,4,3);
for(int i=0;i<7;i++)
{
cout<