大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Java技巧 > 两个有序数组的合并算法

两个有序数组的合并算法


[摘要]本文主要是对两个有序数组的合并算法的讲解,希望对大家学习两个有序数组的合并算法有所帮助。

  算法描述:

  两个有序数组的合并算法

  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《CH[I]《ENDL; pre < } 0; return getchar();><BR>

  <BR>

  <P></P>



相关评论