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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhaoqiqi 初级黑马   /  2014-4-5 12:32  /  581 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

已知如下一个递归程序,该程序的目的是输出给定字符的所有排列,请分析该程序的递归过程,然后将其用人工栈进行模拟,也就是将该递归程序转换成非递归程序:
public static void main(String[] args )
{
char myString[]={'a','b','c','d'};
permutation(myString,0,3);
}

public static void permutation(char[] list,int low,int high){
if(low==high){
  System.out.println(list);
  return ;
}
else{
  for(int i=low;i<=high;i++)
  {
   char temp=list[low];
   list[low]=list[i];
   list[i]=temp;
   permutation(list,low+1,high);
   temp=list[low];
   list[low]=list[i];
   list[i]=temp;
  }
}
}

0 个回复

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