zoukankan      html  css  js  c++  java
  • 链表实现栈、队列

     栈结构:

    对数据的存储利用链式存储;所有的数据类型都支持;栈的方法: 压栈、 弹栈、 判空。

    队列结构:

    对数据的存储利用链式存储;所有的数据类型都支持; 队列的方法:入队、出队、判空。

    package repeat_job1;
    
    public class Stack_Queue {
    	private Object data;
    	private Stack_Queue next,First,obj2=null,temp=this;
    	private int flag=0;
    	public Stack_Queue(){}
    	public Stack_Queue(Object data){
    		this.data=data;
    	}
    	public void push(Object data)
    	{
    		Stack_Queue obj1;
    		obj1=new Stack_Queue(data); 
    		obj1.next=this.next;
    		this.next=obj1;	
    	}
    	public boolean stack_IsEmpty()
    	{
    		temp=temp.next;
    		return temp==null;
    		
    	}
    	public Object pop()
    	{
    		return temp.data;
    	}
    	public void in_Queue(Object data)
    	{
    		Stack_Queue obj3;
    		obj3=new Stack_Queue(data);
    		if(obj2==null)//obj2.next会出现空指针!
    		{
    			obj2=obj3;
    			First=obj2;
    			obj2.next=this;
    		}
    		obj3.next=this;
    		obj2.next=obj3;
    		obj2=obj3;//obj2要紧跟obj3;
    
    	}
    	public boolean queue_IsEmpty()
    	{
    		if(flag==1)
    		{
    			First=First.next;
    		    return First.next==null;
    		}
    		else
    		{
    			return First.next==null;
    			}
    		
    	}
    	public Object out_Queue()
    	{
            flag=1;
    		return First.data;
    	}
    	
    
    }
    
    import repeat_job1.Stack_Queue;
    public class Stack_Queue_Test {
    	public static void main(String[] args)
    	{
    		Stack_Queue obj1=new Stack_Queue();
    		obj1.push("hello");
    		obj1.push("world");
    		obj1.push("张三");
    		obj1.push(23333);
    		System.out.println("出栈:");
    		while(!obj1.stack_IsEmpty())
    		{
    			System.out.print(obj1.pop()+" ");
    		}
    		System.out.println();
    		Stack_Queue obj2=new Stack_Queue();
    		obj2.in_Queue("hello");
    		obj2.in_Queue("world");
    		obj2.in_Queue("张三");
    		obj2.in_Queue(23333);
    		System.out.println("出队:");
    		while(!obj2.queue_IsEmpty())
    		{
    			System.out.print(obj2.out_Queue()+" ");
    		}
    	}
    
    }
    




  • 相关阅读:
    ASP.NET 生成静态html页之扩展(按年月目录)
    一个.net实现的ubb类
    win2003 安全设置
    ffmpeg参数使用说明
    C#正则表达式参考
    asp.net防图片盗链HttpHandler
    自定义datalist分页(转)
    asp.net中DateTime使用(转)
    缓存依赖性dependencies
    查看服务器日志文件的作用
  • 原文地址:https://www.cnblogs.com/zyh2017/p/5001730.html
Copyright © 2011-2022 走看看