`

用LinkedList实现队列和栈

    博客分类:
  • java
阅读更多
队列实现:
package com.test.unicode;

import java.util.LinkedList;

public class MyQueue {
    private LinkedList<Object> queue = new LinkedList<Object>();

    public void put(Object o) {
        queue.addLast(o);
    }

    public Object get() {
        return queue.removeFirst();
    }

    public boolean empty() {
        return queue.isEmpty();
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyQueue mq = new MyQueue();
        mq.put("zhangsan");
        mq.put("lisi");
        mq.put("wangwu");

        System.out.println(mq.get());
        System.out.println(mq.get());
        System.out.println(mq.get());
        System.out.println(mq.empty());

    }

}

栈的实现:
package com.test.unicode;
import java.util.LinkedList;
public class MyStack {
    private LinkedList<Object> stack = new LinkedList<Object>();

    public Object pop() {
        if (stack.isEmpty()) {
            return null;
        }
        return stack.removeFirst();
    }

    public void push(Object o) {
        stack.addFirst(o);
    }

    public Object peek() {
        return stack.getFirst();
    }

    public boolean empty() {
        return stack.isEmpty();
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyStack ms = new MyStack();
        ms.push("zhangsan");
        ms.push("lisi");
        ms.push("wangwu");

        System.out.println(ms.pop());
        System.out.println(ms.peek());
        System.out.println(ms.pop());
        System.out.println(ms.empty());

    }

}
分享到:
评论

相关推荐

    java中LinkedList集合类实现栈和队列.doc

    java中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.docjava中LinkedList集合类实现栈和队列.doc

    常见数据结构与算法C语言实现

    内容包含常见基本数据结构实现(C语言版)如各自排序、链表、栈、队列、各种树以及应用、图算法、字符串匹配算法、回溯、并查集等 以及包含各个数据结构常见算法题的解答(C语言版) bitTree 二叉搜索树 ...

    Java集合框架源码剖析:LinkedList

     LinkedList同时实现了List接口和Deque接口,也是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。这样看来,LinkedList简直是个全能。当你需要使用栈或者队列时,可以...

    扩展矩阵leetcode-Algorithms-camp:算法营

    232-用栈实现队列 208-实现Trie树 1188-设计有限阻塞队列 生产者消费者模式 1.2 Trie树/字典树 1.3 2、树 Title Solution1 Solution2 Addition1-java、python中提供的数据结构 1、java 1.1 Queue Queue, Deque。 ...

    siftjava源码-MaoDataStructures:Arrays(数组)、Stacks(栈)、Queues(队列)、LinkedList

    Arrays(数组)、Stacks(栈)、Queues(队列)、LinkedList(链表)、Recursion(递归思想)、BinarySearchTree(二分搜索树)、Set(集合)、Map(映射)、Heap(堆)、PriorityQueue(优先队列)、SegmentTree(线段树)、Trie(字典树)...

    leetcodepushfront-implement-stack-using-queues:使用队列实现堆栈

    您必须只使用队列的标准操作——这意味着只有向后推、从前面查看/弹出、大小和为空操作是有效的。 根据您的语言,队列可能不受本机支持。 您可以使用列表或双端队列(双端队列)来模拟队列,只要您仅使用队列的标准...

    javalruleetcode-dsal:数据结构与算法个人整理

    java lru leetcode 基础算法 快速排序: 随机枢纽元快排、三路快排、三数中值快排 归并排序: 自顶向下归并、自底向上归并、链表的归并排序 ...栈实现队列、队列实现栈、猫狗队列、带有最小值的栈、LRU、数据

    StructuresandAlgorithms-Code:重温数据结构与算法,代码实践

    栈实现队列、队列实现栈 双端队列-返回滑动窗口的最大值 小顶堆-返回数据流的第k大元素 leetcode建议练习题号: 业界应用 如何实现浏览器的前进后退功能 hash 散列表即键值对的集合,js里常用{ }、new Map()表示 知识...

    约瑟夫环leetcode-DataStructure:数据结构与算法(Java实现)

    约瑟夫环 leetcode ...LinkedList双向链表实现解决约瑟夫环问题 04-栈 Stack利用java组合实现栈 05-队列 Queue队列实现 Deque双端队列实现 CircleQueue环形队列实现 CircleDeque环形双端队列实现 06-二叉树

    leetcode下载-Note:我的笔记

    LinkedList、两个栈实现一个队列,数组实现栈,队列实现栈等。 内存模型 垃圾回收算法(JVM) 类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要) 反射 多线程和线程池 HTTP、HTTPS、TCP/IP、Socket...

    DataStructureJava:主要数据结构——java中的简单实现

    interface Map&lt;Key&gt; TreeMap&lt;K&gt; HashMap&lt;K&gt; LinkedHashMap&lt;K&gt; Hashtable&lt;K&gt; extends Dictionary&lt;K&gt; - JDK 1.0 接口 Set TreeSet HashSet 树特里================== 问题: 如何使用两个堆栈实现队列? 答案:...

    数据结构实现(C++版)

    优先队列_基于最大二叉堆实现 3.5.ArrayPriorityQueue ............. 优先队列_基于动态数组实现 3.6.LinkedListPriorityQueue ..... 优先队列_基于链表实现 3.7.ArrayStack ............................. 栈_基于...

    数据结构与算法分析Java语言描述(第二版)

    remove方法对LinkedList类的使用3.3.5 关于ListIterator接口3.4 ArrayList类的实现3.4.1 基本类3.4.2 迭代器、Java嵌套类和内部类3.5 LinkedList类的实现3.6 栈ADT3.6.1 栈模型3.6.2 栈的实现3.6.3 应用3.7 队列...

    Java超详细!Java实现数据结构PPT课件

    链表(LinkedList) 单向链表 双向链表 循环链表 静态链表 栈(Stack) 队列(Queue) 双端队列(Deque) 循环队列 哈希表(HashTable) 树形数据结构 二叉树(BinaryTree)、二叉搜索树(BinarySearchTree、BST) ...

    数据结构与算法分析-Java语言描述(第2版)_2_2

    remove方法对linkedlist类的使用 3.3.5 关于listiterator接口 3.4 arraylist类的实现 3.4.1 基本类 3.4.2 迭代器、java嵌套类和内部类 3.5 linkedlist类的实现 3.6 栈adt 3.6.1 栈模型 3.6.2 栈...

    数据结构与算法分析-Java语言描述(第2版)_1_2

    remove方法对linkedlist类的使用 3.3.5 关于listiterator接口 3.4 arraylist类的实现 3.4.1 基本类 3.4.2 迭代器、java嵌套类和内部类 3.5 linkedlist类的实现 3.6 栈adt 3.6.1 栈模型 3.6.2 栈...

    leetcode中文官网链接-java-data-structure:用java实现数据结构,形成文档以及代码

    leetcode中文官网链接 前言 ...实现队列的基本操作(顺序队列、链式队列和循环队列) 阅读jdk源码 LinkedList ArrayList 刷题:剑指offer或者leetCode 剑指offer,刷题可以使用 leetCode,刷题可以使用

Global site tag (gtag.js) - Google Analytics