java数据结构——栈(Stack)
2019-08-16 11:56:47来源:博客园 阅读 ()
java数据结构——栈(Stack)
学习数据结构与算法是枯燥的,但只有坚持不懈的积累,才会有硕果累累的明天。
1 /** 2 * 继续学习Java数据结构 ————栈 3 * 栈的实现其实还是使用数组,只不过我们不能直接访问数组下标,而是通过一个指针来对其进行操作 4 * 栈的重要数据特性————先进后出 5 * 压入、弹出、访问、是否空、是否满 6 */ 7 public class Stack { 8 private long arr[]; 9 private int top;// 指针 10 private int Maxsize; 11 12 public Stack(int size) {// 构造函数 13 this.Maxsize = size; 14 arr = new long[Maxsize]; 15 top = -1;// 我们可以操作的指针,初始值为-1 16 } 17 18 public void push(int value) {// 压入数据 19 if(top >= Maxsize - 1){ 20 System.out.println("栈满,添加失败"); 21 } 22 arr[++top] = value; 23 } 24 25 public long pop() {// 弹出数据 26 return arr[top--]; 27 } 28 29 public long peek() {// 访问指针当前数据 30 return arr[top]; 31 } 32 33 public boolean isEmpty() {// 是否空 34 return top == -1;// 指针初始值 35 } 36 37 public boolean isFull() {// 是否满 38 return top == arr.length - 1;// 指针等于数组长度-1 39 40 } 41 42 public static void main(String[] args) { 43 Stack s = new Stack(5); 44 s.push(24); 45 s.push(45); 46 s.push(23); 47 s.push(46); 48 s.push(61); 49 50 System.out.println(s.peek());// 最后一个数 51 52 while (!s.isEmpty()) {// 如果不为空 53 System.out.print(s.pop() + " ");// 先进后出 54 } 55 } 56 57 }
原文链接:https://www.cnblogs.com/hardhp74520/p/11304657.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Java多线程
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash