文章目录
前言
栈是一种先进先出的数据结构,FIFO,栈的这种特性在日常生活中被普遍使用。例如在浏览器上返回前一个网页和后一个网页就利用的栈
提示:以下是本篇文章正文内容,下面案例可供参考
一、链表实现栈
1、两个类,一个用来定义链表节点数据类型,一个实现链表的操作
1.1、数据类型
1.1.1、定义节点数据类型包涵那些基本数据类型
public int num;
public LinkedStackNode next;
1.1.2、节点构造函数
public LinkedStackNode(int num) {
this.num = num;
}
1.1.3、重写toString()
idea可以快捷生成
@Override
public String toString() {
return "LinkedStackNode{" +
"num=" + num +
'}';
}
1.1.4、完整源码
class LinkedStackNode{
public int num;
public LinkedStackNode next;
public LinkedStackNode(int num) {
this.num = num;
}
@Override
public String toString() {
return "LinkedStackNode{" +
"num=" + num +
'}';
}
}
1.2、链表操作类
1.2.1、定义栈顶
//成员变量
public LinkedStackNode lsn;
//构造栈,1,定义栈顶
public LinkedStack() {
this.lsn = null;
}
1.2.2、isEmpty(),判断是否栈空
//2,isEmpty(),判断是否栈空
public boolean isEmpty(){
return this.lsn == null;}
1.2.3、push(int a),添加元素
//3,isFull(),判断是否栈满
public boolean