`

用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,还可以使用ArrayDeque类来实现栈和队列,ArrayDeque提供了更高效的操作,因为它基于数组而不是链表。 在实际应用中,LinkedList适合于频繁插入和删除的场景,因为这些操作的时间复杂度为...

    JAVA利用LinkedList构造栈与队列

    以下是一个使用LinkedList实现队列的Queue类示例: ```java import java.util.LinkedList; public class Queue { private LinkedList&lt;Object&gt; queue = new LinkedList(); public void enqueue(Object item) { ...

    利用队列和栈实现的简单停车管理系统

    例如,Python的`collections.deque`可以方便地创建双端队列,而Java的`LinkedList`可以轻松实现队列和栈的功能。 总之,通过队列和栈的结合应用,我们可以设计出一个简单的停车管理系统,它不仅能满足基本的停车...

    使用LinkedList模拟堆栈

    在Java中,LinkedList同样可以用于实现队列,主要通过addLast()和removeFirst()方法。 以下是使用LinkedList模拟队列的实现: 1. 创建LinkedList实例。 ```java LinkedList&lt;Object&gt; queue = new LinkedList(); ```...

    数组、链表、队列、栈数据结构特点,各自优点和缺点 数组和链表.pdf

    例如,在一个文字编辑器中,撤销和重做操作可以使用栈来实现,每次撤销或重做操作都可以将当前状态压入栈中。 然而,栈也存在一些缺点。只能在一头操作数据,存取其他项很慢。例如,在一个栈中添加或删除元素时,...

    栈和队列源代码

    LinkedList可以很方便地实现队列,因为它支持在两端进行快速操作。 在给定的“例题03 栈和队列”中,可能包含了各种基于栈和队列的算法问题,例如: 1. **括号匹配**:使用栈来检查一个字符串中的括号是否正确配对...

    java 队列 链表 栈

    在Java中,我们可以使用`java.util.Queue`接口及其实现类,如`LinkedList`或`ArrayDeque`来创建队列。例如,`LinkedList`可以作为队列使用,因为它支持在两端进行插入和删除操作。队列的主要操作有`add()`(添加元素...

    用队列实现栈(java代码).docx

    传统的栈可以用数组或链表来实现,但在某些情况下,我们可能需要利用其他数据结构如队列来实现栈。 #### 2. 队列与栈的区别 - **队列**:是一种先进先出(First In, First Out, FIFO)的数据结构,即最早进入队列...

    C语言链表、队列、栈C++模板化

    C++标准库提供`queue`容器,但我们可以用链表自行实现队列,以获得更灵活的控制和理解数据结构的工作原理。 栈是另一种线性数据结构,遵循后进先出(LIFO)原则。它类似于堆叠物品,最后放入的物品最先被取出。栈...

    单链表,栈和队列(c的实现)

    以上就是单链表、栈和队列的基本概念及C语言实现。理解并熟练掌握这些数据结构对编程能力的提升至关重要,因为它们在各种算法和问题解决中都有着广泛的应用,例如括号匹配、表达式求值、深度优先搜索等。通过实践和...

    java 栈和队列的小例子

    Java中可以使用LinkedList、ArrayList或PriorityQueue来实现队列,其中LinkedList和ArrayList适用于普通队列,而PriorityQueue则用于优先级队列。以下是一个使用LinkedList实现的队列示例: ```java import java....

    栈和队列基本操作及练习

    在编程中,许多语言提供了内置的栈和队列数据结构,如Python的`collections.deque`可以作为双端队列,支持栈和队列操作,Java的`java.util.Stack`和`java.util.LinkedList`分别实现了栈和队列。此外,还可以自定义...

    Java版数据结构代码,栈,动态数组,队列,链表,二叉树

    在Java中,LinkedList类就是链表的实现,适用于实现队列和栈等数据结构。 5. **二叉树(Binary Tree)**:二叉树是每个节点最多有两个子节点的数据结构,分为左子节点和右子节点。常见的二叉树类型有二叉搜索树、...

    数据结构栈、链式队列、树的实现

    链式队列通常使用链表(LinkedList)实现,因为链表的插入和删除操作在任何位置都能高效进行。以下是一个简单的链式队列实现: ```python class Node: def __init__(self, data=None): self.data = data self....

    java 栈的实现和应用

    `ArrayDeque`提供了快速的插入和删除操作,且在大多数情况下比使用`ArrayList`或`LinkedList`实现的栈更高效。 2. **Stack类**:Java标准库中的`java.util.Stack`类也是实现栈的一个选项。它是`Vector`类的子类,...

    数据结构--表、栈、队列(java)

    - **链队列**:使用链表实现队列,其中链表的头部作为队头,尾部作为队尾。 **时间复杂度**:队列的Enqueue和Dequeue操作的时间复杂度通常为O(1)。 #### 四、Java Collections API中的表 **Java Collections API*...

    分别用栈和队列实现迷宫

    在IT领域,数据结构是解决问题的关键工具之一,而栈和队列是两种基本的数据结构。本主题探讨如何利用栈和队列解决“走迷宫”的问题。在这个问题中,我们通常将迷宫视为一个二维网格,其中每个节点代表一个位置,路径...

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

    熟悉队列的使用和实现能够显著提高解决这类问题的效率。在实际编程中,Java还提供了其他队列实现,如`ArrayDeque`(高效且灵活的双端队列)、`PriorityQueue`(基于优先级堆的队列)等,以适应不同场景的需求。

    基于 Java 实现的队列和堆栈

    - **基本操作**:在Java中,可以使用`java.util.Queue`接口来实现队列。主要方法有`add()`(在队尾添加元素)、`remove()`(移除并返回队头元素)、`peek()`(查看但不移除队头元素)等。 - **实现方式**:常见的...

Global site tag (gtag.js) - Google Analytics