全排列

全排列

/**
* 整体思路:第一个位置的元素固定后,则以该元素开头的全排列就是该元素与其他元素全排列的拼接
* 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);
          }
     }
}

天天踏实过,步步踏实做———————-Mrgao

原文链接:https://www.mrgaocloud.com/?p=1407,转载请注明出处。
0

评论0

请先

站点公告

欢迎使用红狐网!红狐弹幕播放器已更新新版V1.7.2!立即查看
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录