zoukankan      html  css  js  c++  java
  • LinkedList实现堆栈或者队列

    package java_test;
    
    import java.util.LinkedList;
    
    public class LinkedListTest {
    
    	public static void main(String[] args) {
    		/*
    		 * 练习:请通过LinkesList实现一个堆栈,或者队列数据结构
    		 * 堆栈:先进后出(子弹弹夹) First in  Last out
    		 * 队列:先进先出  First in   First out
    		 */
    		Myqueue queue = new Myqueue();//创建自定义队列对象
    		//添加元素
    		queue.myAdd("abc1");
    		queue.myAdd("abc2");
    		queue.myAdd("abc3");
    		queue.myAdd("abc4");
    
    		//获取所有元素,先进先出
    		while(!queue.isNull()){
    			System.out.println(queue.myGet());
    		}
    	}
    
    	static class Myqueue{
    
    		private LinkedList link;
    
    		Myqueue(){
    			link = new LinkedList();
    		}
    		/*
    		 * 添加元素的方法
    		 */
    		public void myAdd(Object obj){
    			//内部使用的是LInkedList的方法
    			link.addFirst(obj);
    		}
    		/*
    		 * 取元素的方法
    		 */
    		public Object myGet(){
    			return link.removeLast();
    		}
    		/*
    		 * 集合中是否有元素的方法
    		 */
    		public boolean isNull(){
    			return link.isEmpty();
    		}
    	}
    
    }
    

     存和取   有First  Last ,如果保持不一致  就是队列,先进先出

          否则是堆栈 先进后出

  • 相关阅读:
    laravel底层源码解析:pipeline,db,console
    composer命令清单
    composer使用笔记
    git常见问题
    JS阻止冒泡和取消默认事件(默认行为)
    vue项目构建:vue-cli+webpack常用配置
    MVC和三层架构
    SSM框架初始配置
    Java对象间的关系
    Spring框架
  • 原文地址:https://www.cnblogs.com/youning/p/7229768.html
Copyright © 2011-2022 走看看