黑马程序员技术交流社区

标题: 给出一个函数来输出 一个字符串的 所有排列 [打印本页]

作者: 石宗银    时间: 2011-10-22 01:43
标题: 给出一个函数来输出 一个字符串的 所有排列
本帖最后由 石宗银 于 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.             }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2