返回顶部
首页 > 资讯 > 精选 >Java怎么使用跳转结构实现队列和栈
  • 488
分享到

Java怎么使用跳转结构实现队列和栈

2023-07-06 02:07:33 488人浏览 安东尼
摘要

本篇内容介绍了“Java怎么使用跳转结构实现队列和栈”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!队列跳转结构结点public s

本篇内容介绍了“Java怎么使用跳转结构实现队列和栈”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

队列

跳转结构结点

public static class node<T> {    public T value;    public Node<T> next;    public Node(T value) {        this.value = value;    }    @Override    public String toString() {        ArrayList<T> nums = new ArrayList<>();        Node<T> node = this;        while (node != null) {            nums.add(node.value);            node = node.next;        }        return nums.toString();    }}
实现队列
public static class MyQueue<T> {    private Node<T> head;    private Node<T> tail;    private int size;    public MyQueue() {        head = null;        tail = null;        size = 0;    }    // 插入一个元素    public void offer(T t) {        Node<T> node = new Node<>(t);        if (head == null) {            head = node;        } else {            tail.next = node;        }        tail = node;        size++;    }    // 弹出一个元素    public T poll() {        T ans = null;        if (head != null) {            ans = head.value;            head = head.next;            size--;        }        if (head == null) {            tail = null;        }        return ans;    }//  查看队首元素    public T peek() {        T ans = null;        if (head != null) {            ans = head.value;        }        return ans;    }    //检查 队列是否为空    public Boolean isEmpty() {        return size == 0;    }    // 查看队列的长度    public int size() {        return size;    }}
测试队列
public static void main(String[] args) {    MyQueue<Integer> myQueue = new MyQueue<>();    Queue<Integer> test = new LinkedList<>();    int testTime = 5000000;    int maxValue = 200000000;    System.out.println("测试开始!");    for (int i = 0; i < testTime; i++) {        if (myQueue.isEmpty() != test.isEmpty()) {            System.out.println("Oops!");        }        if (myQueue.size() != test.size()) {            System.out.println("Oops!");        }        double decide = Math.random();        if (decide < 0.33) {            int num = (int) (Math.random() * maxValue);            myQueue.offer(num);            test.offer(num);        } else if (decide < 0.66) {            if (!myQueue.isEmpty()) {                Integer num1 = myQueue.poll();                Integer num2 = test.poll();                if (!num1.equals(num2)) {                    System.out.println("Oops!");                }            }        } else {            if (!myQueue.isEmpty()) {                Integer num1 = myQueue.peek();                Integer num2 = test.peek();                if (!num1.equals(num2)) {                    System.out.println("Oops!");                }            }        }    }    if (myQueue.size() != test.size()) {        System.out.println("Oops!");    }    while (!myQueue.isEmpty()) {        Integer num1 = myQueue.poll();        Integer num2 = test.poll();        if (!num1.equals(num2)) {            System.out.println("Oops!");        }    }    System.out.println("测试结束!");}

实现栈
public static class MyStack<T> {    private Node<T> head;    private int size;    public MyStack() {        head = null;        size = 0;    }    //检查 栈是否为空    public Boolean isEmpty() {        return size == 0;    }    // 查看栈的长度    public int size() {        return size;    }    // 插入一个元素    public void push(T t) {        Node<T> node = new Node<>(t);        if (head != null) {            node.next = head;        }        head = node;        size++;    }    public T pop() {        T ans = null;        if (head != null) {            ans = head.value;            head = head.next;            size--;        }        return ans;    }    //  查看栈顶元素    public T peek() {        T ans = null;        if (head != null) {            ans = head.value;        }        return ans;    }}
测试代码
public static void main(String[] args) {    MyStack<Integer> myStack = new MyStack<>();    Stack<Integer> test = new Stack<>();    int testTime = 5000000;    int maxValue = 200000000;    System.out.println("测试开始!");    for (int i = 0; i < testTime; i++) {        if (myStack.isEmpty() != test.isEmpty()) {            System.out.println("Oops!");        }        if (myStack.size() != test.size()) {            System.out.println("Oops!");        }        double decide = Math.random();        if (decide < 0.33) {            int num = (int) (Math.random() * maxValue);            myStack.push(num);            test.push(num);        } else if (decide < 0.66) {            if (!myStack.isEmpty()) {                int num1 = myStack.pop();                int num2 = test.pop();                if (num1 != num2) {                    System.out.println("Oops!");                }            }        } else {            if (!myStack.isEmpty()) {                int num1 = myStack.peek();                int num2 = test.peek();                if (num1 != num2) {                    System.out.println("Oops!");                }            }        }    }    if (myStack.size() != test.size()) {        System.out.println("Oops!");    }    while (!myStack.isEmpty()) {        int num1 = myStack.pop();        int num2 = test.pop();        if (num1 != num2) {            System.out.println("Oops!");        }    }    System.out.println("测试结束!");}

“Java怎么使用跳转结构实现队列和栈”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Java怎么使用跳转结构实现队列和栈

本文链接: https://lsjlt.com/news/357355.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java怎么使用跳转结构实现队列和栈
    本篇内容介绍了“Java怎么使用跳转结构实现队列和栈”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!队列跳转结构结点public s...
    99+
    2023-07-06
  • Java使用跳转结构实现队列和栈流程详解
    目录导读队列跳转结构结点实现队列测试队列栈实现栈测试代码导读 在数据结构当中所有的数据结构都是由 连续数据结构或者跳转数据结构 单独或者拼接做成。 连续结构和跳转结构是数据结构中常见...
    99+
    2023-05-15
    Java跳转结构实现队列 Java跳转结构实现栈
  • Javascript数据结构之栈和队列怎么实现
    本篇内容主要讲解“Javascript数据结构之栈和队列怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript数据结构之栈和队列怎么实现”吧!栈(stack)栈是一种具有 「...
    99+
    2023-06-30
  • 如何在java数据结构中实现栈和队列
    这期内容当中小编将会给大家带来有关如何在java数据结构中实现栈和队列,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。java 数据结构中栈和队列的实例详解栈和队列是两种重要的线性数据结构,都是在一个特定的...
    99+
    2023-05-31
    java ava
  • Java中怎么实现栈和队列
    这期内容当中小编将会给大家带来有关Java中怎么实现栈和队列,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。栈的创建:我们接下来通过链表的形式来创建栈,方便扩充。代码实现:public class Stac...
    99+
    2023-06-17
  • Java数据结构学习之栈和队列
    目录一、栈1.1 概述1.1.1 线性表的概念1.1.2 栈的概念1.1.3 栈的应用二、队列2.1 队列的概念2.2 队列的实现2.3 队列的应用一、栈 1.1 概述 Java为什...
    99+
    2024-04-02
  • Java数据结构专题解析之栈和队列的实现
    目录1. 栈1.1 概念1.2 助解图题1.3 栈的数组实现1.4 问题1.5 栈的单链表实现2. 队列2.1 概念2.2 问题2.3 队列的单链表实现2.4 数组实现队列2.5 循...
    99+
    2024-04-02
  • Java栈与队列怎么实现
    本篇内容主要讲解“Java栈与队列怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java栈与队列怎么实现”吧!1、实现循环队列【OJ链接】循环队列一般通过数组实现。我们需要解决几个问题。...
    99+
    2023-06-29
  • Java栈和队列怎么应用
    这篇“Java栈和队列怎么应用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java栈和队列怎么应用”文章吧。在学习栈和队列...
    99+
    2023-07-02
  • Python栈和队列怎么实现
    这篇文章主要介绍“Python栈和队列怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python栈和队列怎么实现”文章能帮助大家解决问题。一、栈概述栈(st...
    99+
    2024-04-02
  • C++栈和队列怎么实现
    本篇内容主要讲解“C++栈和队列怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++栈和队列怎么实现”吧!栈的定义和实现#ifndef Stack_H  #...
    99+
    2023-06-17
  • PHP 队列和堆栈的数据结构实现详解
    队列遵循“先进先出”原则,可使用数组或链表实现;堆栈遵循“后进先出”原则,同样可使用数组或链表实现。具体实现方式包括:队列数组实现、队列链表实现、堆栈数组实现、堆栈链表实现。实战案例演示...
    99+
    2024-05-07
    php 队列
  • Java数据结构之栈与队列实例详解
    目录一,栈1,概念2,栈的操作3,栈的实现 4,实现mystack二,队列1,概念 2,队列的实现 3,实现myqueue栈、队列与数组的区别?总结 一,栈 1,概念 在我们软件应用...
    99+
    2024-04-02
  • 怎么分析Java数据结构中的栈与队列
    今天就跟大家聊聊有关怎么分析Java数据结构中的栈与队列,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一,栈1,概念在我们软件应用 ,栈这种后进先出数据结构的应用是非常普遍的。比如你...
    99+
    2023-06-29
  • C语言数据结构进阶之栈和队列的实现
    目录栈的实现:一、栈的概念和性质二、栈的实现思路三、栈的相关变量内存布局图四、栈的初始化和销毁五、栈的接口实现:1.入栈2.出栈3.获取栈顶的数据4.获取栈的元素个数5.判断栈是否为...
    99+
    2024-04-02
  • Java队列数据结构的实现
    1.队列的基本概念 什么是队列 队列是一种特殊的线性表它只允许在表的前端(队头)进行删除操作在表的后端(队尾)进行插入操作队列是一个有序表(可以用数组或链表实现)队列先进先出队列开辟...
    99+
    2024-04-02
  • C语言怎么实现栈和队列
    本文小编为大家详细介绍“C语言怎么实现栈和队列”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言怎么实现栈和队列”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是栈栈:一种特殊的线性表,其只允许在固定的一端...
    99+
    2023-06-30
  • Python中怎么用队列实现栈
    这篇文章给大家介绍Python中怎么用队列实现栈,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。题目:使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素e...
    99+
    2023-06-02
  • C语言数据结构之栈与队列怎么相互实现
    本篇内容介绍了“C语言数据结构之栈与队列怎么相互实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、用对列实现栈题干要求:细节分析:队列是...
    99+
    2023-07-02
  • Java栈和基础队列的实现详解
    目录栈(stack)栈支持的三个核心操作:栈的常见实际应用:栈的实现队列无论是哪种队列,都必须支持三个核心操作:基础队列的实现 栈和队列:都是线性表,都是基于List基础上...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作