LinkedList模拟队列和堆栈

/*
使用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

时间: 2024-08-02 01:38:07

LinkedList模拟队列和堆栈的相关文章

解析Java中的队列和用LinkedList集合模拟队列的方法_java

API中对队列的说明:   public interface Queue<E> extends Collection<E> 在处理元素前用于保存元素的 collection.除了基本的 Collection 操作外,队列还提供其他的插入.提取和检查操作.每个方法都存在两种形式:一种抛出异常(操作失败时),另一种返回一个特殊值(null 或 false,具体取决于操作).插入操作的后一种形式是用于专门为有容量限制的 Queue 实现设计的:在大多数实现中,插入操作不会失败. 队列通常

JavaScript数组实现数据结构中的队列与堆栈_javascript技巧

一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出! 如下图所示: 1.2.堆栈的基本概念 堆栈:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出! 如下图所示: 二. 在JavaScript中实现队列和堆栈 在JavaScript中实现队列和数组主要是通过数组,js数组中提供了以下几个方法可以让我们很方便实现队列和堆栈: •shift:从数组中把第一个元素删除,并返回这个元素的值. •unshift: 在数组

JavaScript的数组实现队列与堆栈的方法

今天在项目中要使用JavaScript实现数据结构中的队列和堆栈,这里做一下总结. 一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出! 如下图所示: 1.2.堆栈的基本概念 堆栈:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出! 如下图所示: 二. 在JavaScript中实现队列和堆栈 在JavaScript中实现队列和数组主要是通过数组,js数组中提供了以下几个方法可以让我们很方便实现队列和堆栈: sh

数据结构中要实现击鼓传花,请问是使用队列还是堆栈啊?具体的思路是什么

问题描述 数据结构中要实现击鼓传花,请问是使用队列还是堆栈啊?具体的思路是什么 数据结构中要实现击鼓传花,请问是使用队列还是堆栈啊?具体的思路是什么 解决方案 http://wenku.baidu.com/link?url=pvT9Ql4IqmdhnRlFLdTdeAS0sYf8oXSKNVJjaCkgGYhIBRFbiJUHueRVvoMqqFXz9enx75Iv-F39JVxaoqFs586rOfxggq_W3PD5BUcaA9a

JS实现队列与堆栈的方法_javascript技巧

本文实例讲述了JS实现队列与堆栈的方法.分享给大家供大家参考,具体如下: 在面向对象的程序设计里,一般都提供了实现队列(queue)和堆栈(stack)的方法,而对于JS来说,我们可以实现数组的相关操作,来实现队列和堆栈的功能,看下面的相关介绍. 一.看一下它们的性质,这种性质决定了它们的使用场合 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出! 堆栈:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出! 二.看一下实现的代码(JS代码) var a=new

Go语言的队列和堆栈实现方法_Golang

本文实例讲述了Go语言的队列和堆栈实现方法.分享给大家供大家参考.具体如下: golang,其实我的实现是利用container/list包实现的,其实container/list包很强大. 复制代码 代码如下: package main import (     "fmt"     "container/list" ) func main() {     // 生成队列     l := list.New()     // 入队, 压栈     l.PushBac

PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)

源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkPHP框架(3.2) Redis数据库:测试数据回调函数:通过一个Redis的自增incr来测试异步脚本执行的次数和访问的时间(平时都是用Redis测试写日志的) 编辑器:Visual Studio Code (CLI运行环境好看点) PHP 的命令行模式       从版本 4.3.0 开始,PHP

用 JSON 表现树的结构兼谈队列、堆栈的练习(二)

树的查找 查找,又叫作搜索 search.查找跟遍历的概念不同,遍历是全部的节点都要走一遍,而查找,找到目标节点就立刻返回,不会继续遍历了.当然,如果什么都没查找到,就是一次完整的遍历过程了. 查找的依据是什么?假设我们对 K/V 结构,也就是 Map,对其增加 id 字段,用来作为查找的依据,那么用户输入如果符合 id 就返回节点,表示查找成功. 单层的查找很好做,在递归的函数里 if(id = map.get("id") ) 判断一下就可以了.JSON 是多层的,怎么做多层的呢?

数据结构实践——排队看病模拟(队列)

本文是针对数据结构基础系列网络课程(3):栈和队列的实践项目. [项目 - 排队看病模拟] 编写一个程序,反映病人到医院看病,排队看医生的情况.在病人排队过程中,主要重复两件事: (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊. (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊. 要求模拟病人等待就诊这一过程.程序采用菜单方式,其选项及功能说明如下: (1)排队--输入排队病人的病历号,加入到病人排队队列中. (2)就诊--病人排队队列中最前面的病人就诊,并将其从队列中删