码迷,mamicode.com
首页 > 其他好文 > 详细

全排列

时间:2020-03-04 09:49:56      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:思路   for循环   @param   ||   int   完全   固定   ++   oid   

/**
* 整体思路:第一个位置的元素固定后,则以该元素开头的全排列就是该元素与其他元素全排列的拼接
* for循环中是将每一个元素都换到第一个位置,并求其他元素的全排列
* @param array
* @param start
*/
public static void optation(char[] array,int start){
if(start == array.length-1){
System.out.println(new String(array));
}
for(int i=start;i<array.length;i++){
//避免重复
if(start ==i || array[i] != array[start]){
//将每个位置的元素都与首元素交换
swap(array,i,start);
optation(array,start+1);
//求完全排列之后需要将元素的位置复原,以便进行下一次全排列的求解
swap(array,i,start);
}
}
}

全排列

标签:思路   for循环   @param   ||   int   完全   固定   ++   oid   

原文地址:https://www.cnblogs.com/zhaolei1996/p/12407557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!