基于数组的变容栈(支持迭代)
来源:互联网 发布:喜马拉雅 推荐 知乎 编辑:程序博客网 时间:2024/04/30 04:45
import java.util.Iterator;public class ResizingArrayStack<Item> implements Iterable<Item>{private Item[] a;//栈元素private int N = 0;//栈深度public ResizingArrayStack(int max) {a =(Item[]) new Object[max];}public void resize(int SIZE){Item[] ss = (Item[])new Object[SIZE];for(int i = 0;i < N ; i++){ss[i] = a[i];}a = ss;}public void push(Item item){if(N == a.length)resize(a.length * 2);a[N++] = item;}public Item pop(){Item item = a[--N];a[N] = null;if(N == a.length/4 && N > 0)resize(a.length/2);return item;}public class ReverseArrayIterator implements Iterator<Item>{private int i = N;public boolean hasNext(){return i > 0;}public Item next(){return a[--N];}}@Overridepublic Iterator<Item> iterator() {return new ReverseArrayIterator();}}
0 0
- 基于数组的变容栈(支持迭代)
- 基于集合的二维数组迭代
- 支持IE8及以下的,原生JS数组迭代的五种方法
- 数组的迭代遍历
- DailyTest-基于迭代开发的测试
- javascript Array 数组的迭代方法
- js中数组迭代的方法
- js中数组迭代的方法
- Javascript迭代数组
- XML:Stax操作XML(基于光标的方式、迭代的方式、XPath的方式)
- 关于递归和迭代的 一次小实验(基于斐波那契数列)
- 递归与基于STL容器的迭代
- 基于TCP的迭代回声服务器端和客户端
- 基于梯度的权重更新优化迭代算法
- 基于TCP/IP的迭代回声服务器/客户端
- 八皇后问题:基于python生成器的迭代实现
- 一张图看懂JavaScript中数组的迭代方法
- 一张图看懂JavaScript中数组的迭代方法
- 移动网页开发调试方法
- *LeetCode 10 Regular Expression Matching 正则表达式
- POJ 3233 矩阵快速幂
- 突然很压抑
- matplotlib Mac OS 安装过程
- 基于数组的变容栈(支持迭代)
- 网安
- linux下i2c驱动
- 第1章 系统概貌
- 【E】【51】【leetcode题解】Rectangle Area
- Spring Security3-Filter链分析
- (解题报告)HDU2011---多项式求和
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
- 【Linux编程】零拷贝之splice( )函数和tee( )函数