Java与数据结构(三) 栈
来源:互联网 发布:个人 域名 备案 编辑:程序博客网 时间:2024/06/03 17:50
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
栈和队列一般采用顺序存储,Java代码实现如下:
package 数据结构和算法;public class Stack {private int size;private int top = -1;private int[] stack;Stack(){stack = new int[10];size = 10;}Stack(int i){stack = new int[i];size = i;}boolean IsEmpty(){if(top == -1)return true;elsereturn false;}//在栈顶插入一个元素void Push(int e){if(top == size-1){System.out.println("栈已满,无法继续添加!");return ;}stack[++top] = e;}//删除栈顶元素void Pop(){if(IsEmpty()){System.out.println("栈已空!");return ;}System.out.println(stack[top]+"已被弹出");top--;}//输出栈顶元素void GetTop(){if(!IsEmpty()){System.out.println(stack[top]);}else{System.out.println("栈已空!");}}//打印整个栈 从栈底开始void Print(){for(int i=top;i>=0;i--)System.out.print(stack[i]+" ");System.out.println();}public static void main(String[] args){Stack s = new Stack();for(int i=1;i<=10;i++)s.Push(i);s.Print();s.Pop();s.Print();}}Output:
10 9 8 7 6 5 4 3 2 1
10已被弹出
9 8 7 6 5 4 3 2 1
阅读全文
0 0
- Java与数据结构(三) 栈
- Java数据结构与算法《三》栈与队列
- 数据结构小结 (三)栈与队列
- 数据结构学习 栈与队列(三)
- 数据结构与算法(三)栈&&队列
- 数据结构 JAVA描述(三) 队列 + 栈与队列的比较
- 数据结构与算法之三(栈和队列的java实现)
- <三>java数据结构与算法 选择排序
- JAVA笔记(三)数据结构
- java数据结构(三)排序
- 数据结构:(三)栈
- 数据结构与算法学习(三)栈结构Stack
- 数据结构与算法(12)——栈习题三
- (数据结构与算法分析 三)------栈的实现(包括链栈和数组实现栈 Java语言描述)
- python 数据结构三 之 栈与队列
- 数据结构与算法(三) 栈和队列
- 数据结构与程序架构(三)
- JS数据结构与算法(三)
- Unity资源热更之AssetBundle(1)———基本介绍
- 15章phpmyadmin
- Mac下如何usb调试Android真机
- iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享
- 李小鹏:谈股票市场的赚钱陷阱
- Java与数据结构(三) 栈
- 6. 机器学习基石-Why can Machine Learn?
- 共享文件夹没有权限访问
- 16章php操作mysql
- ros学习笔记--学习路径
- AJAX笔记-实现城市下拉列表联动框
- sp2200系列安腾服务器更换主板后恢复原windows 2003操作系统引导项的方法
- ubuntu16.04+Qt5.7.1+opencv2.4.9
- Install tensorflow: no matching version