博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自己实现数据结构系列三---Stack
阅读量:6183 次
发布时间:2019-06-21

本文共 2127 字,大约阅读时间需要 7 分钟。

一.代码部分

1.定义接口

public interface Stack
{ int getSize(); boolean isEmpty(); void push(E e); E pop(); E peek();}

2.基于数组实现:

public class ArrayStack
implements Stack
{ ArrayList
arrayList; public ArrayStack(int capacity){ arrayList = new ArrayList(capacity); } public ArrayStack(){ arrayList = new ArrayList
(); } @Override public int getSize() { return arrayList.getSize(); } @Override public boolean isEmpty() { return arrayList.isEmpty(); } @Override public void push(E e) { arrayList.addLast(e); } @Override public E pop() { return arrayList.removeLast(); } @Override public E peek() { return arrayList.get(getSize()-1); } public int getCapacity(){ return arrayList.getCapacity(); } @Override public String toString() { StringBuilder res = new StringBuilder(); res.append("Stack:"); res.append("["); for (int i = 0; i < arrayList.getSize(); i++) { res.append(arrayList.get(i)); if(i != arrayList.getSize()-1){ res.append(","); } } res.append("] top"); return res.toString(); }}

 3.基于链表实现:

public class LinkedListStack
implements Stack
{ private LinkedListPlus
list; public LinkedListStack(){ list = new LinkedListPlus<>(); } @Override public int getSize() { return list.getSize(); } @Override public boolean isEmpty() { return list.isEmpty(); } @Override public void push(E e) { list.addFirst(e); } @Override public E pop() { return list.removeFirst(); } @Override public E peek() { return list.getFirst(); }   @Override   public String toString() {
  StringBuilder res = new StringBuilder();   res.append("stack:top");   res.append(list);   return res.toString();   }}

 

转载于:https://www.cnblogs.com/inspred/p/stack.html

你可能感兴趣的文章
线程同步
查看>>
Android 从零开始打造异步处理框架
查看>>
调用Interop.zkemkeeper.dll无法使用解决方案
查看>>
贪心算法(Greedy Algorithm)
查看>>
DuBrute 3.1
查看>>
【PWA学习与实践】(9)生产环境中PWA实践的问题与解决方案
查看>>
RecyclerView的复用机制
查看>>
机器学习之牛顿法
查看>>
在Ubuntu上使用MySQL设置远程数据库优化站点性能
查看>>
鹅厂优文|主播pk,如何实现无缝切换?
查看>>
编写基于PHP扩展库的后门
查看>>
Android Handler机制之Message及Message回收机制
查看>>
JSON vs Js
查看>>
css居中
查看>>
谈谈分享邀请奖励机制(附iOS实现代码)
查看>>
多隆:淘宝第一行代码撰写者的程序世界
查看>>
【刷算法】翻转单链表的递归和非递归方法
查看>>
十步零基础JavaScript学习路径
查看>>
vue-cli 3.0新特性解读
查看>>
第一个tensorflow程序
查看>>