数据结构--链表实现栈和队列

devtools/2024/11/29 22:46:19/

引入

数据结构--数组实现队列-CSDN博客这篇文章中我们已经用数组实现了队列,那么我们再练习一下链表实现吧!o(* ̄▽ ̄*)ブ

既然是链表,那么前提给出一个创建节点的封装类:

java">public class Node {int data;Node next;public Node(){//空构造函数}public Node(int data){this.data=data;this.next=null;}@Overridepublic String toString() {return (this.next == null) ?  this.data + " " :  this.data + " " + this.next.toString();}
}

1.用链表实现入和出

java">public class ListStack {private Node top;//入(链表)public void put(int value){Node newNode=new Node(value);newNode.next=top;top=newNode;System.out.println("入成功!");}//出public void get(){if(top==null){System.out.println("已经空了!");return;}System.out.println(top.data);top=top.next;}
}

一个测试Main:

java">public class Test {public static void main(String[] args) {ListStack stack=new ListStack();stack.put(4);stack.put(3);stack.put(6);stack.put(1);stack.get();stack.get();stack.get();stack.get();stack.get();}
}

得到结果:

2.用链表实现入队和出队

java">public class ListQueue {private Node left;private Node right;public void put(int value){Node newNode=new Node(value);if(left==null&&right==null){left=newNode;right=newNode;System.out.println("入队成功");return;}left.next=newNode;left=newNode;System.out.println("入队成功");}public void get(){if(right==null){System.out.println("队列已空!");return;}System.out.println(right.data);right=right.next;}
}

得到结果:


http://www.ppmy.cn/devtools/138032.html

相关文章

hadoop_zookeeper详解

Zookeeper秒懂 工作机制特点数据结构应用场景安装选举机制初始化启动无法和Leader保持连接 节点类型监听器原理写数据流程Paxos算法算法流程 客户端命令 Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。 工作机制 Zookeeper是一个基于观察…

uniapp配置全局消息提醒

1.H5使用根标签插入dom的方式实现。 2.app端使用plus.nativeObj.View的方式绘制实现 H5端app端 H5端 创建组件orderAlert.vue <template><div class"view"><div class"content" v-if"visible"><div class"message&q…

DVWA靶场——File Inclusion

File Inclusion&#xff08;文件包含&#xff09;漏洞 指攻击者通过恶意构造输入&#xff0c;利用应用程序错误的文件包含机制&#xff0c;导致程序包含并执行未经授权的本地或远程文件。这类漏洞广泛存在于Web应用程序中&#xff0c;尤其是在那些允许用户提供文件路径或URL的地…

详解 PyTorch 中的 DataLoader:功能、实现及应用示例

详解 PyTorch 中的 DataLoader&#xff1a;功能、实现及应用示例 在 PyTorch 框架中&#xff0c;Dataloader 是一个非常重要的类&#xff0c;用于高效地加载和处理来自 Dataset 的数据。Dataloader 允许批量加载数据&#xff0c;支持多线程/多进程加载&#xff0c;并可进行数据…

11.28深度学习_bp算法

七、BP算法 多层神经网络的学习能力比单层网络强得多。想要训练多层网络&#xff0c;需要更强大的学习算法。误差反向传播算法&#xff08;Back Propagation&#xff09;是其中最杰出的代表&#xff0c;它是目前最成功的神经网络学习算法。现实任务使用神经网络时&#xff0c;…

Ubuntu FTP服务器的权限设置

在Ubuntu中设置FTP服务器的权限&#xff0c;主要涉及到用户权限管理和文件系统权限设置。以下是详细的步骤和配置方法&#xff1a; 安装FTP服务器软件 首先&#xff0c;确保已经安装了FTP服务器软件。常用的FTP服务器软件包括vsftpd和Pure-FTPd。以下是使用vsftpd作为示例的安…

【模电】整流稳压电源

1.整流稳压电源 主要由四大部分组成&#xff0c;分别是&#xff1a; 1&#xff09;电源变压器 2&#xff09;整流电路 3&#xff09;滤波电路 4&#xff09;稳压电路 2.整流电路 2.1半波整流 2.1.1工作原理 平均电压计算 结构最简单&#xff0c;但是只利用了了半个周期的…

boss上测试面试宝典总结

测试基础 软件测试 黑盒测试和白盒测试有哪些方法 黑盒&#xff1a;等价类划分、边界值发现、错误推测、因果图法、场景法、判定表驱动法 白盒&#xff1a;逻辑覆盖、程序插桩技术、基本路径法、符号测试、错误驱动测试 在项目中如何保证软件质量 软件质量部不仅仅是某个人来…