课后习题1.6

Posted code-future

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课后习题1.6相关的知识,希望对你有一定的参考价值。

1.6 编写带有下列声明的例程:

public void permute(String str);

private void permute(char[] str, int low, int high);

第一个例程是个驱动程序,它调用第二个例程并显示String str中的字符的所有排列。例如,str是"abc", 那么输出的串则是abc,acb,bac,bca,cab,cba,第二个例程使用递归。

package com.algorithm.chapterone;

/**
 * 编写带有下列声明的例程:
 * public void permute(String str);
 * private void permute(char[] str, int low, int high);
 * 第一个例程是个驱动程序,它调用第二个例程并显示String str中的字符的所有排列。
 * 例如,str是"abc", 那么输出的串则是abc,acb,bac,bca,cab,cba,第二个例程使用递归。
 * @author Gao·Rongzheng
 *
 */
public class QuestionFive 
    public static int count = 0;
    public static void main(String[] args) 
        // TODO Auto-generated method stub
        permute("abcde");
        System.out.println(count);
    
    
    public static void permute(String str) 
        char[] charArray = str.toCharArray();
        permute(charArray, 0, charArray.length);
    
    
    private static void permute(char[] str, int low, int high) 
        if (low == high-1) 
            for (int i=0; i<high; i++) 
                System.out.print(str[i] + " ");
            
            System.out.println();
            count++;
         else 
            for (int i=low; i<high; i++) 
                swap(str, low, i);
                permute(str, low+1, high);
                swap(str, low, i);
            
        
        
    
    
    public static void swap(char str[], int i, int j)
        char temp = str[i];
        str[i] = str[j];
        str[j] = temp;
   

 

以上是关于课后习题1.6的主要内容,如果未能解决你的问题,请参考以下文章

计量经济学 第四版 课后答案 李子奈 潘文卿 版 课后 练习题答案 高等教育出版社 课后习题答案

课后习题1

课后习题答案

文件 课后习题答案

Java编程思想第4版官方完整版及官方习题课后答案(code和pdf)

数字电子技术基础第六版阎石课后答案王红课后习题答案;数字电子技术基础第六版课后答案阎石王红;课后答案;习题答案