熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構考研分類復習真題 第五章 答案[48]

2013-11-15 15:11:48  來源: 數據結構 

  [題目分析]數組A和B的元素分別有序欲將兩數組合並到C數組使C仍有序應將A和B拷貝到C只要注意A和B數組指針的使用以及正確處理一數組讀完數據後將另一數組余下元素復制到C中即可

  void union(int A[]B[]C[]mn)
  //整型數組A和B各有m和n個元素前者遞增有序後者遞減有序本算法將A和B歸並為遞增有序的數組C
  {i=; j=n; k=;// ijk分別是數組AB和C的下標因用C描述下標從開始
  while(i<m && j>=)
  if(a[i]<b[j]) c[k++]=a[i++] else c[k++]=b[j];
  while(i<m) c[k++]=a[i++];
  while(j>=) c[k++]=b[j];
  }算法結束

  [算法討論]若不允許另辟空間而是利用A數組(空間足夠大)則初始k=m+n請參見第章算法設計第

[]  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23030.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.