`

java实现栈和队列

 
阅读更多

参考:栈和队列就是这么简单Java栈实现Java队列实现

 

java栈实现

public class LinkedListStack {
    private LinkedList ll = new LinkedList();

    public void push(int value) {
        ll.insertFirst(value);
    }

    public int pop() throws Exception {
        return ll.deleteFirst();
    }

    public void display() {
        ll.display();
    }

    public void clearStack(){
        ll.clear();
    }

    public static void main(String[] args) throws Exception {
        LinkedListStack lls = new LinkedListStack();
        lls.push(1);
        lls.push(2);
        lls.push(3);
        lls.display();
        System.out.println("出栈----:"+lls.pop());
        lls.display();
        System.out.println("清除----");
        lls.clearStack();
        System.out.println("入栈-----");
        lls.push(4);
        lls.display();

    }
}

 

public class LinkedListStack {
    private LinkedList ll = new LinkedList();

    public void push(int value) {
        ll.insertFirst(value);
    }

    public int pop() throws Exception {
        return ll.deleteFirst();
    }

    public void display() {
        ll.display();
    }

    public void clearStack(){
        ll.clear();
    }

    public static void main(String[] args) throws Exception {
        LinkedListStack lls = new LinkedListStack();
        lls.push(1);
        lls.push(2);
        lls.push(3);
        lls.display();
        System.out.println("出栈----:"+lls.pop());
        lls.display();
        System.out.println("清除----");
        lls.clearStack();
        System.out.println("入栈-----");
        lls.push(4);
        lls.display();

    }
}

 

java实现队列

public class FirstLastList {
    private class Node{
        private  int  value;
        private  Node next;

         Node( int  value){
            this. value =  value;
        }
    }

    private  Node first = null;
    private  Node last = null;

    public void insertLast( int  value){
         Node  Node = new  Node( value);
        if(first == null){
            first =  Node;
        }else{
            last.next =  Node;
        }
        last =  Node;
    }

    public  int deleteFirst() throws Exception{
        if(first == null)
            throw new Exception("empty");
         Node temp = first;
        if(first.next == null)
            last = null;
        first = first.next;
        return temp. value;
    }

    public void display(){
        if(first == null)
            System.out.println("empty");
        System.out.print("first -> last : | ");
         Node cur = first;
        while(cur != null){
            System.out.print(cur.value + " | ");
            cur = cur.next;
        }
        System.out.print("\n");
    }

    public void clear(){
        first = null;
        last = null;
    }

}

 

public class FirstLastListQueue {
    private  FirstLastList fll = new FirstLastList();

    public void push(int value){
        fll.insertLast(value);
    }

    public int pop() throws Exception{
        return fll.deleteFirst();
    }

    public void display(){
        fll.display();
    }

    public void clearQueue(){
        fll.clear();
    }

    public static void main(String[] args) throws Exception{
        FirstLastListQueue fllq = new FirstLastListQueue();
        fllq.push(1);
        fllq.push(2);
        fllq.push(3);
        fllq.display();
        System.out.println("出队----"+fllq.pop());
        fllq.display();
        fllq.push(4);
        fllq.display();
        System.out.println("清除---");
        fllq.clearQueue();
        fllq.display();
        fllq.push(5);
        fllq.display();

    }
}

 

 

分享到:
评论

相关推荐

    Java实现栈和队列面试题

    以上就是Java实现栈和队列面试题的主要内容。理解和熟练掌握这些知识点对于Java开发者来说至关重要,因为它们涉及到基础数据结构的运用,能够反映候选人在解决实际问题时的逻辑思维和算法能力。在面试中,候选人可能...

    用java通过接口实现栈和队列

    使用java实现栈和队列,通过接口实现多态

    栈和队列源代码

    在Java中,可以使用ArrayList或者LinkedList来实现栈。当一个元素被压入栈(push)时,它成为栈顶元素;当一个元素被弹出(pop)时,总是栈顶元素被移除。栈的主要操作还包括查看栈顶元素但不移除(peek)以及检查栈...

    java 栈和队列的小例子

    在Java中,我们可以使用ArrayDeque类或者Stack类来实现栈。ArrayDeque相比于Stack性能更优,因为它提供了线程不安全但高效的操作。以下是一个简单的栈操作例子: ```java import java.util.Stack; public class ...

    栈和队列的基本操作实现及其应用实验报告

    1. **熟练掌握栈和队列的基本操作**:在数组和链表两种存储结构上实现栈和队列的基本操作。 2. **应用栈和队列解决实际问题**:通过具体的编程练习,学习如何利用栈和队列来解决简单的实际问题。 #### 实验内容 本...

    回文-栈和队列

    栈和队列的基本操作及其应用 1、掌握栈和队列的顺序存储结构和链式存储结构,以便在实际中灵活应用。...3、掌握栈和队列的基本运算,如:入栈与出栈,入队与出队等运算在顺序存储结构和链式存储结构上的实现。 回文判断

    利用栈和队列实现迷宫

    "利用栈和队列实现迷宫" 通过栈和队列两种不同的方法来实现迷宫问题。队列方法求出的迷宫路径是最短路径。迷宫问题是指在一个迷宫中找到从起点到终点的路径。这里我们使用栈和队列两种数据结构来解决这个问题。 栈...

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

    在Java编程语言中,LinkedList集合类是一个非常重要的数据结构,它可以用来实现栈和队列这两种特殊的数据结构。LinkedList是一个双链表,每个节点包含数据元素和两个引用,分别指向前后节点,这使得在列表中进行插入...

    Java模拟栈和队列数据结构的基本示例讲解共4页.pdf

    本篇文档《Java模拟栈和队列数据结构的基本示例讲解共4页.pdf》将深入浅出地介绍如何在Java中实现栈和队列,以帮助开发者更好地理解和应用这些概念。 首先,让我们来了解栈和队列的基本特性: 1. **栈(Stack)**...

    数据结构中栈和队列思想的停车场管理系统

    基于c语言数据结构中栈和队列思想的简单停车场管理系统,以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车...

    数据结构试验2-栈和队列实验报告含源码

    在C++或Java等编程语言中,我们可以使用数组或链表来实现栈。源码可能包含实现基本栈操作的函数,如push(入栈)、pop(出栈)和peek(查看栈顶元素)。 队列(Queue)则是先进先出(FIFO,First In First Out)的...

    数据结构 实验4 栈和队列

    在数据结构课程的实验4中,学生可能会学习如何使用编程语言(如C++、Java或Python)来实现栈和队列的基本操作,并通过实际的编程练习来加深理解。可能的实验任务包括: 1. 设计和实现栈和队列的类结构,包括构造...

    数据结构关于栈和队列的实现源代码

    1. **栈的实现**:可以使用数组或链表来实现栈。数组实现的栈空间固定,而链表实现的栈则可以在运行时动态扩展。栈的基本操作如Push、Pop、Peek可以通过改变数组或链表的指针来完成。 2. **队列的实现**: - **...

    栈和队列基本操作及练习

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

    栈和队列的代码

    例如,使用数组实现栈,我们可以利用数组的索引来表示位置,数组的末尾作为栈顶;对于队列,可以使用双端数组,一端用于入队,另一端用于出队,也可以使用链表,链表的头节点表示队首,尾节点表示队尾。 文件名`...

    用栈和队列实现停车场管理

    在实现这个系统时,我们可以选择使用编程语言如Python、Java或C++,利用这些语言提供的数据结构库(如Python的`collections.deque`作为双端队列,用于实现栈和队列)。同时,为了提高效率和用户体验,可以考虑采用多...

    java 栈的实现和应用

    2. **Stack类**:Java标准库中的`java.util.Stack`类也是实现栈的一个选项。它是`Vector`类的子类,因此具有线程安全的特性。但通常,由于其性能较低,推荐使用`ArrayDeque`。使用`Stack`类的示例如下: ```java ...

    Java-用数组实现栈-队列-线性列表

    Java 数组实现栈、队列和线性列表 Java 是一种广泛使用的编程语言,数组是 Java 中的一种基本数据结构。数组可以用来实现栈、队列和线性列表等数据结构。下面是使用 Java 数组实现栈、队列和线性列表的详细介绍。 ...

    数据结构 第3章 栈和队列(课后习题程序实现).rar

    数据结构 第3章 栈和队列(课后习题程序实现).rar 数据结构 第3章 栈和队列(课后习题程序实现).rar 数据结构 第3章 栈和队列(课后习题程序实现).rar 数据结构 第3章 栈和队列(课后习题程序实现).rar

    单链表操作 和 栈、队列的应用

    内容和要求 单链表操作 和 栈、队列的... 4)定义一个顺序栈和循环队列,实现将队列中所有元素逆置。 实验数据:1)线性表为 6,2,11,5,2,4,2; 2)x=2; 3) k=5 或 k=10; 4)队列中的数据为 1,2,3,4,5,6

Global site tag (gtag.js) - Google Analytics