• java实现链栈


    前面学习了java实现顺序栈:http://www.cnblogs.com/lixiaolun/p/4644134.html

    接下来,学习java实现链栈。

    链栈类代码:

    package linkedstack;
    
    public class LinkStack {
    	
    	private Element base;
    	private Element top;
    	
    	class Element
    	{
    		public Object data;
    		public Element next;
    	}
    	
    	/**
    	 * 初始化栈
    	 * */
    	void initStack()
    	{
    		top = new Element();
    		base = new Element();
    		top.data=null;
    		top.next=base;
    		base.data=null;
    		base.next=null;
    	}
    	
    	/**
    	 * 入栈
    	 * */
    	void push(Object o)
    	{
    		Element e = new Element();
    		e.data = o;
    		if(top.next==base)//第一次入栈操作
    		{
    			e.next=base;
    			top.next=e;
    		}else
    		{
    			e.next=top.next;
    			top.next=e;
    		}
    		
    	}
    	
    	/**
    	 * 出栈
    	 * */
    	void pop()
    	{
    		if(top.next==base)
    		{
    			System.out.println("栈中没有元素!");
    		}else
    		{
    			System.out.println("出栈操作"+top.next.data);
    			top.next=top.next.next;
    		}
    	}
    	
    	/**
    	 * 打印栈
    	 * */
    	void print()
    	{
    		System.out.print("打印栈:");
    		Element temp =top;
    		while(temp.next!=base)
    		{
    			System.out.print(temp.next.data+"	");
    			temp =temp.next;
    		}
    		System.out.println();
    	}
    }
    

    链栈测试类代码:

    package linkedstack;
    
    public class LinkStackMain {
    
    	public static void main(String[] args) {
    		LinkStack lStack = new LinkStack();
    		lStack.initStack();
    		lStack.pop();
    		lStack.push(1);
    		lStack.push(2);
    		lStack.push(3);
    		lStack.push(4);	
    		lStack.print();
    		
    		lStack.pop();
    		lStack.pop();
    		lStack.print();
    		
    		lStack.pop();
    		lStack.pop();
    		lStack.print();
    		lStack.pop();
    	}
    
    }
    

      

  • 相关阅读:
    IMYSQL-叶金荣
    mysql命令
    实效云计算用户组(ECUG) 与 阿里云
    GO 语言
    MYSQL 源代码编绎脚本
    MYSQL 源代码学习
    LINUX 性能工具使用
    CentOS 5.8 上安装 systemtap-2.6 转
    mysql php nginx
    redis 安装
  • 原文地址:https://www.cnblogs.com/lixiaolun/p/4644141.html
Copyright © 2020-2023  润新知