java 编写代码实现Stack类 ,采用单链表
来源:互联网 发布:怎么在淘宝投诉卖家 编辑:程序博客网 时间:2024/05/18 18:19
请编写代码实现Stack类,该类能够实现后进先出的堆栈功能,要求实现的方法包括:
Stack(int) – 实例化指定深度的栈
boolean push(E item) – 向栈顶压入对象,成功返回true,栈已满返回false
E pop() – 从栈顶移除对象并返回,如栈为空返回null
E peek() – 查看并返回栈顶的对象,如栈为空返回null
int size() – 返回堆栈中当前的元素数量
int depth() – 返回当前堆栈深度
Stack(int) – 实例化指定深度的栈
boolean push(E item) – 向栈顶压入对象,成功返回true,栈已满返回false
E pop() – 从栈顶移除对象并返回,如栈为空返回null
E peek() – 查看并返回栈顶的对象,如栈为空返回null
int size() – 返回堆栈中当前的元素数量
int depth() – 返回当前堆栈深度
package datastruct.stack;class Node<E>{Node <E> next=null;E data;public Node(E data) {this.data=data;}}//采用链表实现栈public class Stack<E> { int depth;//栈的深度 public Stack(int i) {this.depth=i;} Node<E> top=null; //将元素压入栈中 public boolean push(E data) { if (size()<depth) { Node<E> newNode=new Node<E>(data); newNode.next=top; top=newNode; return true; }return false;} //读取栈中的头结点,不删除头结点 public E peek() { if (top==null) {return null;}return top.data;} //获取栈中的头结点,并删除头结点 public E pop() { if (top==null) {return null;} Node<E> tmp=top; top=top.next;return tmp.data;} //栈的元素个数 public int size(){ int leng=0; Node tmeNode=top; while(tmeNode!=null) { tmeNode=tmeNode.next; leng++; } return leng; } //当前栈的深度 public int depth() {return this.depth;} public static void main(String[] args) {Stack stack=new Stack<>(2);System.out.println(stack.push(1));System.out.println(stack.push(2));System.out.println(stack.push(3));System.out.println(stack.size());System.out.println(stack.pop());System.out.println(stack.pop());System.out.println(stack.pop());System.out.println(stack.depth());}}
阅读全文
0 0
- java 编写代码实现Stack类 ,采用单链表
- java编写Stack类
- 采用Java的反射机制编写的克隆类以及方法的代码
- 采用代码编写UI界面
- Android 采用代码编写ui
- Struts2系统学习(13)输入校验-采用手工编写代码实现校验
- 采用 MPI_Send 和 MPI_Recv 编写代码来实现 MPI_Allgather 的功能
- 采用stack实现的文件夹循环深度优先遍历的基类
- Java array实现stack
- Stack 的 java 实现
- java Stack源代码实现
- java实现stack
- C++ stack的代码实现
- 采用MPI_Send 和MPI_Recv 编写代码来实现包括MPI_Bcast、MPI_Alltoall、MPI_Gather、MPI_Scatter 等MPI 群集通信函数的功能
- 【think in java】 实现Stack
- java实现的stack数据结构
- Min Stack (JAVA实现)
- Java 实现栈(Stack)
- 关于mysql中字符编码
- java中遍历map的几种方式
- 原生JS如何运动ajax封装函数
- 后台返回数据快速赋值到页面封装js
- Reuters-21578 数据集处理
- java 编写代码实现Stack类 ,采用单链表
- 字符相似性几种度量方法
- 【Windows】快捷键操作指南
- kotlin学习笔记(八)
- java实现遍历树形菜单方法——service层
- 金庸群侠传之武林浩荡1.7全隐藏完整攻略流程(图文)
- JAVA-POI导出excel表格
- python3 windows 编码问题
- 连接