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);
    			}
    	}
    		
    }

    结果就不打印了。





  • 相关阅读:
    在rhel6上安装Python 2.7和Python 3.3
    RHEL7 -- Linux搭建FTP虚拟用户
    RHCE7 -- IPv6
    RHEL7 -- nmcli的使用
    设置Adobe Reader打开PDF文件保持记忆功能
    iptalbes -F
    服务器IP地址后修改SQL Server配置
    配置SELINUX
    11G新特性 -- 分区表和增量统计信息
    11G新特性 -- Statistics Preferences
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6738205.html
Copyright © 2011-2022 走看看