![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构之栈
落程魄序
大家好,我是落魄哥,Java程序员一枚,主要分享Java技术、读书笔记、源码、算法等,欢迎大家关注
展开
-
java利用简单数组实现栈
1.栈是一种先进会后出的数据结构,主要的操作为,void push(Objectdata),将data插入栈,void pop(),删除并返回最后一个插入栈中的元素。2.辅助操作为:int top(),返回最后一个插入栈的元素,但是不删除 。int size(),返回存储在栈中元素的个数。 boolean isEmpty(),判断栈中是否有元素。 boolean isFull(),判断栈是...原创 2019-05-19 01:11:55 · 1338 阅读 · 0 评论 -
java利用链表实现栈
在前面,写了怎么利用数组来实现栈,以及动态数组的利用。今天我们就利用链表的方式来实现栈,我们知道链表存储数据只要内存够,就可以放足够多的数据,这也就解决了数组带来的弊端。链表类:public class LLNode {private Object data;//存放数据private LLNode next;//指向下一个节点public LLNode(){ }public...原创 2019-05-20 23:47:24 · 4778 阅读 · 2 评论 -
java栈判断括号的匹配
java栈判断括号是否是匹配的:比如输入(a+b)*[(a+b)*c]是匹配的,然而(a+b)+(c}不是匹配的。具体算法如下: 解析器每次读入一个字符,如果字符是一个开分隔符如:((,{,【】,[)直接将其入栈,如果遇到的是闭分隔符:如(),】,],})先判断栈顶是否与本次的分隔符匹配,如果此时遇到的是},栈顶的是{,说明是匹配的,那么直接出栈,如果栈顶不是{,直接将...原创 2019-05-22 17:40:16 · 873 阅读 · 2 评论