首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
process
iostream
flutter
数组
buffer
web3
command
split
js
vba
replace
callback
email
version
heap
rsa
spring
hashcode
fetch
join
plugins
cPlusPlus
ip
request
subset
python3
jar
jsp
usb
settings
dockerfile
actionscrip
md5
config
include
sum
dagger
php8
less
bitmap
grid
search
case
express
heatmap
byte
timestamp
integer
shell
solr
hashset
nodejs
default
tags
cSharp
window
regex
python
httprequest
list
yaml
future
audio
golang
frameworks
loops
import
object
text
triggers
utf-8
post
foreach
testing
scala
ascii
vbscript
node.js
header
当前位置:
开发笔记
>
编程语言
> 正文
java实现栈,队列数据结构
作者:独角式恋爱牛仔 | 来源:互联网 | 2023-10-12 13:35
java实现栈publicclassStackForInt{储存数据的栈privateNodeStackForInt[];栈的最大容量privateintmaxSize
//java实现栈
public class StackForInt
{
// 储存数据的栈
private Node
StackForInt[];
// 栈的最大容量
private int maxSize;
// 栈的当前容量
private int size;
//分别保存node中最大值和最小值,在栈push和pop时都要来保存这个值,特别是在pop时,当出栈的数是最大或者最小时,就需要更新
//maxNode,minNode.代码中还没有实现,后续增加。
private T maxNode;
private T minNode;
public T getMax(){
return maxNode;
}
public T getMin(){
return minNode;
}
// 不传参数,默认栈的最大容量为100
public StackForInt() {
this(100);
}
public StackForInt(int maxSize) {
// 如果传入的参数小于或等于0,则设置最大容量为100
if (maxSize <&#61; 0)
maxSize &#61; 100;
this.maxSize &#61; maxSize;
}
// 初始化栈&#xff0c;在堆中先申请好内存空间
public void initStackForInt() {
Node
[] StackForIntNodes &#61; new Node[maxSize];
StackForInt &#61; StackForIntNodes;
for (int i &#61; 0; i
StackForInt[i] &#61; new Node
();
}
// 栈的当前大小为0
size &#61; 0;
}
// 栈的基本方法之一&#xff0c;获得栈顶元素
public Node
getTop() {
// 栈中没有元素&#xff0c;则返回空
if (size &#61;&#61; 0)
return null;
return StackForInt[size-1];
}
// 栈的基本方法之一&#xff0c;入栈
public boolean push(Node
StackForIntNode) {
// 栈已满&#xff0c;入栈失败
if (size >&#61; maxSize)
return false;
size&#43;&#43;;
StackForInt[size - 1] &#61; StackForIntNode;
return true;
}
// 栈的基本方法之一&#xff0c;出栈
public Node
pop() {
// 如果栈已空&#xff0c;则返回null
if (size <&#61; 0)
return null;
size--;
return StackForInt[size];
}
// 栈是否为空
public boolean isEmpty() {
if (size <&#61; 0)
return true;
return false;
}
// 栈的基本方法之一&#xff0c;遍历栈
public void traverse() {
for (int i &#61; 0; i
System.out.println(StackForInt[i].get());
}
}
/**
* &#64;param args
*/
public static void main(String[] args) {
StackForInt
StackForInt &#61; new StackForInt
();
StackForInt.initStackForInt();
StackForInt.push(new Node
("Anybody1"));
StackForInt.push(new Node
("Anybody2"));
StackForInt.push(new Node
("Anybody3"));
StackForInt.traverse();
}
static class Node
{
//要存储的信息
private T nodeinfo;
public Node(){
this(null);
}
public Node(T info){
this.nodeinfo &#61; info;
}
//set方法
public void set(T info){
this.nodeinfo &#61; info;
}
//get方法
public T get(){
return nodeinfo;
}
}
}
java
队列
int
push
get
static
main
string
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
jsp
Java代码保护与混淆:ProGuard详解
在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ...
[详细]
蜡笔小新 2024-11-18 16:46:17
ip
如何使用 org.apache.tinkerpop.gremlin.structure.VertexProperty 的 key 方法
本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ...
[详细]
蜡笔小新 2024-11-21 17:38:10
jsp
Beetl模板引擎初探
Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ...
[详细]
蜡笔小新 2024-11-21 16:57:10
jsp
Java 中的十进制样式 getZeroDigit()方法,示例
Java 中的十进制样式 getZeroDigit()方法,示例 ...
[详细]
蜡笔小新 2024-11-21 16:53:03
数组
Java 实现生成指定数量的不重复随机数
本文将详细介绍如何使用Java编程语言生成指定数量的不重复随机数,包括具体的实现方法和代码示例。适合初学者和有一定基础的开发者参考。 ...
[详细]
蜡笔小新 2024-11-21 12:08:06
replace
web: _show -> _info 造轮子编程
问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ...
[详细]
蜡笔小新 2024-11-21 10:21:24
replace
Java中如何判断一个对象是否为Long类型
本文介绍了一种在Java中判断对象是否属于Long类型的方法,通过定义一个特定的方法来实现这一功能,该方法能够准确地识别并返回结果。 ...
[详细]
蜡笔小新 2024-11-21 10:17:37
jar
spring boot使用jetty无法启动
spring boot使用jetty无法启动 ...
[详细]
蜡笔小新 2024-11-21 10:15:52
jsp
二维码的实现与应用
本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ...
[详细]
蜡笔小新 2024-11-21 17:10:15
jsp
JUnit下的测试和suite
nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ...
[详细]
蜡笔小新 2024-11-21 16:03:49
jsp
Singleton单例模式和DoubleChecked Locking双重检查锁定模式
问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ...
[详细]
蜡笔小新 2024-11-21 15:14:45
jsp
java语言基础数据类型:详解
数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ...
[详细]
蜡笔小新 2024-11-21 08:47:17
callback
Flutter 核心技术与混合开发模式深入解析
本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ...
[详细]
蜡笔小新 2024-11-19 13:48:51
ip
管理UINavigationController中的手势返回 - Managing Swipe Back Gestures in UINavigationController
本文介绍了如何在一个简单的闪存卡片应用中实现平滑的手势返回功能,以增强用户体验。 ...
[详细]
蜡笔小新 2024-11-19 10:27:04
jsp
HDU2757 海洋洋流(BFS+优先队列)
题目描述:计算从起点到终点的最小能量消耗。如果下一个单元格的风向与当前单元格相同,则消耗为0,否则为1。共有8个可能的方向。 ...
[详细]
蜡笔小新 2024-11-18 16:02:40
独角式恋爱牛仔
这个家伙很懒,什么也没留下!
Tags | 热门标签
process
iostream
flutter
数组
buffer
web3
command
split
js
vba
replace
callback
email
version
heap
rsa
spring
hashcode
fetch
join
plugins
cPlusPlus
ip
request
subset
python3
jar
jsp
usb
settings
RankList | 热门文章
1
UNP总结 Chapter 12~14 IPv4与IPv6的互操作性、守护进程和inet超级服务器、高级I/O函数
2
python连接网络摄像头安装图解_使用OpenCV和Python显示网络摄像头源
3
数据库技术:mysql 子查询与连接表详情
4
Python多线程的执行顺序及状态
5
python如何设计工具类_常用工具类
6
EIGRP基础概念
7
点击a标签不跳转的办法
8
电气领域输电线路巡检高清图像数据
9
前端微服务二
10
22.Container With Most Water(能装最多水的容器)
11
<C/C++>输入整型数组和排序标识,对其元素按照升序或降序进行排序
12
腾讯投资十勇士,后者致力于精品游戏研发
13
开发笔记:(源码开放) React + webpack3 多页面应用 及 常见问题解答
14
下载 apk 并打开
15
数据库规范化设计(函数依赖、三大范式)
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有