`
TRAMP_ZZY
  • 浏览: 138810 次
社区版块
存档分类
最新评论

Java 中队列和递归

    博客分类:
  • Java
阅读更多
public class DataConversion {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
        int num = 24241;
        while (num > 0) {
            stack.push(num % 10);
            num = num / 10;
        }

        while (stack.size() > 0) {
            System.out.print(stack.pop());
        }

        System.out.println("--------------------------------");
        Deque<Integer> stack1 = new ArrayDeque<>();
        int number = 12;
        while (number > 0) {
            stack1.push(number % 8);
            number = number / 8;
        }

        while (stack1.size() > 0) {
            System.out.print(stack1.pop());
        }
    }
}

public class HanoiTest {
    public static long m = 0;

    public static void move(char ch1, long n, char ch2) {
        System.out.println("move " + n + " from " + ch1 + " to " + ch2);
    }

    public static void hanoi(int n, char A, char B, char C) {
        //System.out.println("times " + (++m) + " " + n + " " + A + " " + C);
        if (n == 1)
            move(A, 1, C);
        else {
            hanoi(n-1, A, C, B);
            move(A, n, C);
            hanoi(n-1, B, A, C);
        }
    }

    public static void main(String[] args) {
        hanoi(10, 'A', 'B', 'C');
    }
}

public class DataConversion {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
        int num = 24241;
        while (num > 0) {
            stack.push(num % 10);
            num = num / 10;
        }

        while (stack.size() > 0) {
            System.out.print(stack.pop());
        }

        System.out.println("--------------------------------");
        Deque<Integer> stack1 = new ArrayDeque<>();
        int number = 12;
        while (number > 0) {
            stack1.push(number % 8);
            number = number / 8;
        }

        while (stack1.size() > 0) {
            System.out.print(stack1.pop());
        }

        System.out.println("-----------------------------------");
        System.out.println(fact(18));
        System.out.println("-----------------------------------");
        System.out.println(fib(2));
    }

    public static long fact(long n) {
        if (n == 0) return 1;
        else return fact(n-1) * n;
    }

    public static long fib(long n) {
        if (n == 0) {
            return 0;
        }
        else if (n == 1) {
            return 1;
        }
        else {
            return fib(n-1) + fib(n-2);
        }
    }
}
分享到:
评论

相关推荐

    Java SE程序 递归 Java SE程序 递归

    Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE程序 递归Java SE...

    用java语言编写的递归下降语法分析器

    用java语言编写的递归下降语法分析器用java语言编写的递归下降语法分析器用java语言编写的递归下降语法分析器

    Java实现排序和递归算法示例

    自己写的4个Java代码,内有详细注释,适合想学... insertion_sort.java --插入排序 Divide.java --分治排序 HanoiCompute.java --递归实现汉诺塔 FileCtrl.java --递归实现显示目录下的所有文件和文件夹

    Java二分查找递归算法

    Java二分查找递归算法

    java 中的经典递归

    ### Java中的经典递归 #### 一、递归的基本概念 递归是一种常见的算法思想,在计算机科学中占有重要地位。简单来说,递归是指在函数的定义或执行过程中调用自身的方法。递归通常用于解决那些可以分解为相似子问题...

    java线程中的递归

    java线程中的递归

    java-rar文件递归解压

    Java中的RAR文件递归解压涉及到了文件处理和压缩库的使用,这在软件开发中是常见的需求。本文将深入探讨如何使用Java实现RAR文件的递归解压,包括理解RAR文件格式、选择合适的库、编写解压代码以及处理递归情况。 ...

    java代码统计_递归

    java代码统计_递归

    java数据结构递归算法

    在这个"java数据结构递归算法"主题中,我们将深入探讨递归的基本概念、如何在Java中使用递归,以及一个著名的递归应用案例——八皇后问题。 递归是函数或方法调用自身的过程。它基于一个问题的规模缩小至基本情况,...

    递归下降法实现语法分析器(java)

    在Java中实现递归下降法可以创建出高效且易于理解的解析器。下面将详细探讨递归下降法的原理以及如何在Java中实现。 递归下降法的基本思想是将文法规则转化为一系列的Java方法,每个方法对应一个非终结符。当解析器...

    java实现的二叉树的递归和非递归遍历

    在提供的"二叉树的递归和非递归遍历"压缩包文件中,可能包含了Java源代码,演示了如何实现这两种遍历方式。通过阅读和理解这些代码,你可以更好地掌握二叉树遍历的原理和实践,这对于理解和解决涉及二叉树的算法问题...

    java培训知识-递归

    在Java培训中,理解递归的原理和应用至关重要。递归的定义包括以下几个关键点: 1. **函数内部调用自身**:这是递归的基础,即函数在执行过程中调用自身,形成一个调用链。 2. **边界条件**:递归必须有一个明确的...

    java编写的递归与非递归

    在Java编程中,递归和非递归是两种常用的处理问题的方法。递归通常用于解决那些可以通过分解为更小问题来解决的问题,而非递归则更适合于使用迭代的方式来解决问题。下面将详细介绍这两种方法,并通过计算阶乘的例子...

    java程序的递归算法

    ### Java程序中的递归算法:列出某个目录下的所有子目录和文件 在计算机科学领域,递归算法是一种非常强大的工具,它可以简化很多复杂问题的解决过程。递归算法的基本思想是将一个大问题分解成若干个与原问题相似的...

    java递归无限层级树

    在Java编程中,递归是一种强大的工具,常用于解决复杂问题,例如构建和遍历层次结构数据,如无限层级的树。在这个场景中,我们利用Java递归来表示一个树形结构,这种结构可以无限深入,每个节点可能包含子节点,也...

    java递归树型结构通用数据库

    Java递归树型结构通用数据库是指使用Java语言实现的递归树型结构数据库系统,该系统可以实现树型结构的部门管理,包括部门的添加、删除、修改和查询等操作。 知识点: 1. 递归树型结构数据库设计 在Java递归树型...

    java 用递归实现字符串反转

    ### Java使用递归实现字符串反转 在Java编程语言中,递归是一种常用的...需要注意的是,在实际开发中,对于非常大的字符串进行递归反转可能会导致栈溢出错误,因此在应用递归算法时也需要考虑其适用范围和可能的风险。

    数据结构与算法(JAVA篇)之递归算法

    ### 数据结构与算法(JAVA篇)之递归算法 #### 概念介绍 递归算法是一种常见的编程技术,尤其在解决具有重复子问题的问题时非常有效。递归算法的特点是函数自身调用自身来解决问题的不同部分,直到达到基本情况...

    java 递归问题文档

    这篇“java 递归问题文档”很可能是对递归的深入讲解和实例分析,旨在帮助初学者理解和掌握这一关键技能。 首先,我们需要理解递归的基本原理。递归函数通常包含两个主要部分:基本情况(base case)和递归情况...

    java详细讲解递归

    在Java编程语言中,递归是一种非常重要的算法思想和技术手段。递归是指一个方法直接或间接地调用自身的过程。这种自我调用的方式可以用来解决很多复杂的问题,并且通常能够使代码更加简洁和易于理解。 #### 二、...

Global site tag (gtag.js) - Google Analytics