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 ,如果保持不一致  就是队列,先进先出

          否则是堆栈 先进后出

  • 相关阅读:
    qiankun 报错:Target container with #container not existed while xxx mounting!
    promise加载队列实现
    promise 封装定时器
    关于promise
    节流防抖
    箭头函数特点
    this
    手写apply
    手写call
    手写bind函数
  • 原文地址:https://www.cnblogs.com/youning/p/7229768.html
Copyright © 2011-2022 走看看