zoukankan      html  css  js  c++  java
  • java 使用LinkedList模拟一个堆栈或者队列数据结构

    近期在复习下java基础,看了下java基础,在看到集合时突然发现想起来曾经面试有一道笔试题:模拟一个堆栈或者队列数据结构,当时还没做出来,今天就写一下,首先得明确堆栈和队列的数据结构

    堆栈:先进后出
    队列:先进先出

    LInkedList中刚好有addFirst(),addLast()方法,如今写一个简单的工具类封装下就哦了

    public class Demo4 {
    		public static void main(String[] args) {
    			Tools tools = new Tools();
    			tools.add("a");
    			tools.add("b");
    			tools.add("c");
    			tools.add("d");
    			
    			tools.romove();
    		}
    }
    class Tools{
    	private LinkedList<String> ll;
    	public Tools(){
    		ll = new LinkedList<String>();
    	}
    	
    	public void add(String str){
    		ll.addFirst(str);
    	}
    	
    	public void romove(){
    		for(int i=0;i<ll.size();i++){
    				String content = ll.get(i);
    				System.out.println(content);
    			}
    	}
    		
    }

    打印结果:

    d
    c
    b
    a

    这是先进后出,这就是堆栈的数据结构,队列就简单了,仅仅要把addFirst()方法改成addLast()方法即可

    代码例如以下:

    public class Demo4 {
    		public static void main(String[] args) {
    			Tools tools = new Tools();
    			tools.add("a");
    			tools.add("b");
    			tools.add("c");
    			tools.add("d");
    			
    			tools.romove();
    		}
    }
    class Tools{
    	private LinkedList<String> ll;
    	public Tools(){
    		ll = new LinkedList<String>();
    	}
    	
    	public void add(String str){
    		ll.addLast(str);
    	}
    	
    	public void romove(){
    		for(int i=0;i<ll.size();i++){
    				String content = ll.get(i);
    				System.out.println(content);
    			}
    	}
    		
    }

    结果就不打印了。





  • 相关阅读:
    作业五:RE 模块模拟计算器
    python RE模块的使用
    python的命名空间
    python 正则表达式
    python-map的用法
    JavaScript 基础学习1-day14
    前端基础之CSS-Day13
    前端基础之html-Day12
    Python-进程与线程理论基础-Day10
    Angular2语法指南
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6738205.html
Copyright © 2011-2022 走看看