黑马程序员技术交流社区
标题:
用栈将该递归程序转换成非递归程序
[打印本页]
作者:
zhaoqiqi
时间:
2014-4-5 12:32
标题:
用栈将该递归程序转换成非递归程序
已知如下一个递归程序,该程序的目的是输出给定字符的所有排列,请分析该程序的递归过程,然后将其用人工栈进行模拟,也就是将该递归程序转换成非递归程序:
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;
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2