创建一个包含数字元素的顺序栈,同时具有如下功能: 【1】初始化一个顺序栈 【2】输出顺序栈中各结点的值 【3】在顺序栈中插入值为x的新元素 【4】在顺序栈中出栈操作并打印被删除的元素 【5】给出当前的栈顶元素
时间: 2024-11-13 19:18:12 浏览: 3
栈:顺序栈和链表栈_C语言项目
创建一个简单的顺序栈(基于数组实现),可以按以下步骤进行:
1. 初始化一个顺序栈:
```java
public class Stack {
private int[] elements;
private int top; // 栈顶指针
public Stack(int capacity) {
elements = new int[capacity];
top = -1; // 初始状态为空,top为-1
}
}
```
2. 输出顺序栈中各结点的值:
```java
public void printStack() {
if (top == -1) {
System.out.println("栈为空");
} else {
for (int i = 0; i <= top; i++) {
System.out.print(elements[i] + " ");
}
System.out.println();
}
}
```
3. 在顺序栈中插入值为x的新元素:
```java
public void push(int x) {
if (top < elements.length - 1) {
top++;
elements[top] = x;
} else {
System.out.println("栈已满,无法插入");
}
}
```
4. 出栈操作并打印被删除的元素:
```java
public int popAndPrint() {
if (top == -1) {
return -1; // 返回空栈错误信息
} else {
int poppedValue = elements[top]; // 获取栈顶元素
top--;
System.out.println("弹出的元素: " + poppedValue);
return poppedValue;
}
}
```
5. 给出当前的栈顶元素:
```java
public int peek() {
return top == -1 ? null : elements[top]; // 如果栈空,返回null
}
```
阅读全文