LinkedList模拟队列和堆栈

简介: /*使用LinkedList模拟一个堆栈或者队列数据结构。堆栈:先进后出  如同一个杯子。队列:先进先出 First in First out  FIFO 如同一个水管。*/import java.util.*;class DuiLie{    private LinkedList link;    DuiLie()    {        link = ne
/*
使用LinkedList模拟一个堆栈或者队列数据结构。

堆栈:先进后出  如同一个杯子。
队列:先进先出 First in First out  FIFO 如同一个水管。



*/

import java.util.*;
class DuiLie
{
    private LinkedList link;

    DuiLie()
    {
        link = new LinkedList();
    }
    
    public void myAdd(Object obj)
    {
        link.addFirst(obj);
    }
    public Object myGet()
    {
        return link.removeLast();//removeFirst就变为堆栈
    }
    public boolean isNull()
    {
        return link.isEmpty();
    }

}



class  LinkedListTest
{
    public static void main(String[] args) 
    {
        DuiLie dl = new DuiLie();
        dl.myAdd("java01");
        dl.myAdd("java02");
        dl.myAdd("java03");
        dl.myAdd("java04");

        while(!dl.isNull())
        {
            System.out.println(dl.myGet());
        }
    }
}


LinkedList就是一个双向的循环链表

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1745432

目录
相关文章
|
存储 机器学习/深度学习 算法
模拟实现单链表、双链表、栈、队列——数组模拟
我们在数据结构中都学到过单链表、双链表、栈和队列,当我们实现的时候时使用结构体指针实现的。定义一个结构体,结构体中存储指针变量和存放数值的变量。当然,C++的STL库中已经有实现好的栈和队列,我们可以直接用。但是在做算法题时,有时候我们会发现超出时间限制。原因是我们用STL库中的栈和队列容器时,效率相对来说较慢。我们这时就引出用数组模拟实现栈和队列。用数组模拟实现的使用起来效率更高、更方便。当然,我们也会讲到用数组模拟实现单链表和双链表。
69 0
|
7月前
|
存储 算法
什么是堆,优先级队列的模拟实现
什么是堆,优先级队列的模拟实现
43 0
java使用数组模拟队列、环形队列
队列是一个有序列表,可以用数组或链表来实现。遵循先入先出的原则。
|
7月前
数据结构 模拟实现Queue队列(双链表模拟)
数据结构 模拟实现Queue队列(双链表模拟)
56 1
|
存储 算法 安全
【算法基础】栈和队列及常见变种与使用,双栈、动态栈、栈的迭代器,双端队列、优先队列、并发队列、延迟队列的使用
【算法基础】栈和队列及常见变种与使用,双栈、动态栈、栈的迭代器,双端队列、优先队列、并发队列、延迟队列的使用
253 0
【算法基础】栈和队列及常见变种与使用,双栈、动态栈、栈的迭代器,双端队列、优先队列、并发队列、延迟队列的使用
|
存储 Java
【数据结构】 队列(Queue)与队列的模拟实现
【数据结构】 队列(Queue)与队列的模拟实现
数组模拟链表、栈、队列
数组模拟链表、栈、队列
46 0
|
算法
【算法】简单讲解如何使用两个栈实现一个队列
【算法】简单讲解如何使用两个栈实现一个队列
108 0
|
存储 算法 Java
java数据结构,一个案例带你用数组模拟队列,环形队列!
java数据结构,一个案例带你用数组模拟队列,环形队列!
147 0
java数据结构,一个案例带你用数组模拟队列,环形队列!