zoukankan      html  css  js  c++  java
  • JAVA基础知识(2)--堆栈和递归的操作

    2015-07-26 18:16:21
    /**
    *该应用程序对堆栈和递归方法进行实例操作:
    *1、堆栈操作:先进后出,
    *2、递归方法:直接或者调用自己的方法;
    *@author lhm

    *Email:912547587@qq.com

    */
    public class TestStack{
    //属性声明
    private String[] item;
    //top = 0时,堆栈为空;
    private int top=0;
    /**
    *无参构造方法
    *默认声明数组4个
    */
    public TestStack(){
    item = new String[4];
    }
    /**
    *有参构造方法
    *@param i 数组个数
    */
    public TestStack(int i){
    item = new String[i];
    }
    /**
    * 堆栈的添加操作
    * @param s 所添加的字符串
    */
    public void push(String s){
    item[top]=s;
    top++;
    }
    /**
    * 堆栈的删除操作
    *堆栈从栈顶开始进行删除
    */
    public void pop(){

    item[top-1]=null;
    top--;
    }
    /**
    * 返回栈中的元素值;
    * 返回值按先进后出的顺序
    */
    public void getInfo(){
    for(int j=top-1;j>=0;j--){
    System.out.println(item[j]);
    }
    }
    //返回堆栈的大小;
    public int size(){
    return top;
    }
    /**
    *使用递归求解n!
    *@param n
    */
    public int Recursion1(int n){
    if(n==0)
    return 1;
    else
    return n*Recursion1(n-1);
    }
    public int Recursion2(int n){
    return n==0? 1:n*Recursion2(n-1);
    }
    public static void main(String[] args){
    TestStack ts = new TestStack();
    //依次添加字符串;
    ts.push("1");
    ts.push("2");
    ts.push("3");
    ts.push("4");
    System.out.println("----------");
    System.out.println("打印堆栈的字符串:");
    ts.getInfo();
    //ts.pop();
    System.out.println("----------");
    System.out.println("输出3的阶乘是:");
    System.out.println(ts.Recursion1(3));
    System.out.println("输出5的阶乘是:");
    System.out.println(ts.Recursion2(5));
    }
    }

    程序结果:

    ----------
    打印堆栈的字符串:
    4
    3
    2
    1
    ----------
    输出3的阶乘是:
    6
    输出5的阶乘是:
    120

    依次输入:1,2,3,4,结果出来:4,3,2,1

    n的阶乘通过递归的方法进行计算!!

  • 相关阅读:
    Params参数的应用
    用反射动态创建委托
    Javascript中的Array的运用
    四个JS代码与jquery架构简单运用
    base 基本用法转载自(MSDN)
    Microsoft AJAX Library 新特性简单代码
    典型的委托的不同写法(转载)
    创建反射实例|反射过滤|反射搜索
    【软工】第1次个人作业
    【软工】第0次个人作业
  • 原文地址:https://www.cnblogs.com/lihaiming93/p/4678371.html
Copyright © 2011-2022 走看看