#### 数组实现栈
##### 栈的特性
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;
}
```
##### 总结
代码实现比较简单和简陋,主要是对栈的一个认识和了解,目前实现的栈是不支持并发操作的,后续继续完善,下次实现一个无界栈。
java使用数组实现栈
最新推荐文章于 2021-11-02 16:12:45 发布