A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 石宗银 于 2011-10-22 01:46 编辑

微软的试题,,,理解了N久,,还是没搞清楚它的思想过程,是怎么样的,,,,,,
哪位高仁,,能说下这题的思路嘛?
  1.         static void Permutation(char a[], int start, int end)
  2.         {
  3.             char temp;
  4.             if(start == end)
  5.             {
  6.                 for(int i = 0; i <= end; i++)
  7.                         System.out.print(a[i]);
  8.                 System.out.print("\n");
  9.             }
  10.             else
  11.             {       
  12.                 for(int i = start; i <= end; i++)
  13.                 {       
  14.                         if (start != i) {
  15.                                     temp=a[start];//每次其中一个字符                
  16.                         a[start]=a[i];
  17.                              a[i]=temp;
  18.                         }
  19.                     Permutation(a, start+1, end);   
  20.                     //
  21.                         if (start != i) {
  22.                                    temp=a[start];
  23.                             a[start]=a[i];
  24.                             a[i]=temp;
  25.                         }
  26.                 }
  27.             }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马