写一段java代码 栈数据结构
时间: 2023-06-30 14:24:58 浏览: 71
好的,以下是一个简单的栈数据结构的 Java 代码实现:
```java
public class Stack {
private int maxSize; // 栈的最大容量
private int[] stackArray; // 存储栈元素的数组
private int top; // 栈顶指针
// 创建一个指定容量的空栈
public Stack(int size) {
maxSize = size;
stackArray = new int[maxSize];
top = -1;
}
// 判断栈是否为空
public boolean isEmpty() {
return top == -1;
}
// 判断栈是否已满
public boolean isFull() {
return top == maxSize - 1;
}
// 获取栈顶元素
public int peek() {
if (isEmpty()) {
throw new RuntimeException("Stack is empty.");
}
return stackArray[top];
}
// 入栈
public void push(int value) {
if (isFull()) {
throw new RuntimeException("Stack is full.");
}
stackArray[++top] = value;
}
// 出栈
public int pop() {
if (isEmpty()) {
throw new RuntimeException("Stack is empty.");
}
return stackArray[top--];
}
// 获取栈中元素数量
public int size() {
return top + 1;
}
// 清空栈
public void clear() {
top = -1;
}
}
```
这个栈实现包含了基本的入栈、出栈、获取栈顶元素等操作,以及判断栈是否为空或已满、获取栈中元素数量、清空栈等辅助方法。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)