两个有序数组的合并算法

2014-11-24 02:50:35 · 作者: · 浏览: 1

算法描述:

两个有序数组的合并算法

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<