从今天开始, 小白我将带大家开启 jave 数据结构 & 算法的新篇章.
栈 (stack) 是一种运算受限的线性表, 遵循先进后出的原则 (last-in-first-out). 举个例子, 当我们灌调料的时候, 后灌进去的调料会先被使用.
栈只能在表尾部进行插入和删除的操作. 开口的一端被称为栈顶, 另一端则被称为栈底. 如图:
栈 (stack) 的 push 方法, 把项压入栈顶部.
代码:
/校园公主/ push方法public void push(e element){ array.add(array.size(), element);}
栈 (stack) 的 pop 方法, 移除栈顶对象并返回.
代码:
// pop方法public e pop(){ e element = array.geping大包t(array.size() - 1); array.remove(array.size() - 1); return element;}
public static void main(string[] args) {// 创建栈 stack<integer> stack = new stack<>(); // push5个元素 for (int i = 0; i < 5; i++) { stack.push(i); system.out.println(stack); }// pop 5个元素 for (int i = 0; i < 5; i++) { stack.pop(); system.out.println(stack); }}
输出结果:
stack{array=[0]}
stack{array=[0, 1]}
stack{array=[0, 1, 2]}
stack{array=[0, 1, 2, 3]}
stack{array=[0, 1, 2, 3, 4]}
stack{array=[0, 1, 2, 3]}
stack{array=[0, 1, 2]}
stack{array=[0, 1]}
stack{array=[0]}
stack{array=[]}
import java.util.arraylist;public class stack<e> { private arraylist<e> array; // 无参构造 中文专业 public stack() { array = new arraylist(); } // 有参构造 public stack(int capacity){ array = new arraylist(capacity); } // push方法 public void专八证书 push(e element){ array.add(array.size(), element); } // pop方法 public e pop(){ e element = array.get(array.size() - 1); array.remove(array.size() - 1); return element; } @override public string tostring() { return "stack{" + "array=" + array + '}'; } public static void main(string[] args) { // 创建栈 stack<integer> stack = new stack<>(); // push5个元素 for (int i = 0; i < 5; i++) { stack.push(i); system.out.println(stack); } // pop5个元素 for (int i = 0; i < 5; i++) { stack.pop(); system.out.println(stack); } }}
到此这篇关于java 数据结构与算法系列精讲之栈的文章就介绍到这了,更多相关java 栈内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-05 01:53:50,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/beb1b60508fcf2dcbfe1263f00a59eda.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Java 数据结构与算法系列精讲之栈.doc
本文 PDF 下载地址:Java 数据结构与算法系列精讲之栈.pdf
留言与评论(共有 0 条评论) |