java使用数组实现栈

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cpongo4/article/details/89333877
#### 数组实现栈 ##### 栈的特性 1. 栈是先进后出的线性数据结构 2. 栈在栈顶位置进行操作压栈和出栈 ##### 简单实现思路 1. 数组实现,栈就是一个有界的栈,初始化栈的时候就得指定其容量 2. 根据数组的特性,可以很快的找到指定位置的数据,可以建立一个最后一个位置元素的索引实现快速入栈和出栈操作 3. 清空栈指定索引位为零即可 ##### 具体代码实现 1. 基本元素定义 ```java public class ArrayStack{ //元素存储 private final Object[] elementData; //栈内元素数量 private int elementCount; } ``` 2. 初始化栈 ```java public ArrayStack(int capacity){ elementData = new Object[capacity]; elementCount = 0; } ``` 3. 入栈操作 ```java public T push(T element) { if(elementCount >= elementData.length) { throw new ArrayIndexOutOfBoundsException(); } elementData[elementCount++] = element; return element; } ``` 4. 出栈操作 ```java public T pop() { if(elementCount <= 0) { throw new ArrayIndexOutOfBoundsException(); } return (T) elementData[--elementCount]; } ``` 5. 清空操作 ```java public void clear() { elementCount = 0; } ``` ##### 总结 ​ 代码实现比较简单和简陋,主要是对栈的一个认识和了解,目前实现的栈是不支持并发操作的,后续继续完善,下次实现一个无界栈。

猜你喜欢

转载自blog.csdn.net/cpongo4/article/details/89333877
今日推荐