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

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

2013-11-15 15:12:14  來源: 數據結構 

  .[題目分析]本題的一種算法前面已討論(請參見本章三填空題這裡給出另一中解法分析數的填法是按從右上到左下蛇形沿平行於副對角線的各條對角線上將自然數從小到大填寫當從右上到左下時坐標i增加坐標j減小當j減到小於時結束然後j從開始增加而i從當前值開始減少到i<時結束然後繼續如此循環當過副對角線後在i>nj=j+開始從左下向右上填數而當j>n時i=i+開始從右上向左下的填數直到n*n個數填完為止

  void Snake_Number(int A[n][n]int n)
  //將自然數n*n蛇形填入n階方陣A中
  {i=; j=; k=;         //ij是矩陣元素的下標k是要填入的自然數
  while(i<n && j<n)
  {while(i<n && j>)     //從右上向左下填數
  {A[i][j]=k++; i++ ;j;}
  if((j<)&&(i<n)) j=;   //副對角線及以上部分的新ij坐標
  else {j=j+; i=n;}    // 副對角線以下的新的ij坐標
  while(i> && j<n)      //從左下向右上
  {A[i][j]=k++; i; j++;}
  if(i< && j<n) i=;
  else{i=i+; j=n;}
  }//最外層while
  }//Snake_Number

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


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