使用数组建立一个能容纳10个元素的栈,然后从键盘输入10个数字,依次存入栈中,然后按照出栈的标准顺序,依次输出栈内的每一个元素。
时间: 2024-09-19 09:12:53 浏览: 33
使用数组来实现一个简单的栈可以分为以下几个步骤:
1. **创建数组栈**:首先,我们需要定义一个数组,比如`Stack`,它有10个元素容量,用于存储数据。
```java
int[] stack = new int[10];
```
2. **初始化栈顶指针**:声明一个变量`top`作为栈顶索引,初始值设为-1,表示栈为空。
```java
int top = -1;
```
3. **压栈操作**:从键盘读取用户输入的数字,并将其放入栈中。如果`top + 1 < stack.length`,则表示还有空间,将元素放在`stack[++top]`的位置。
```java
Scanner input = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.print("请输入第 " + (i+1) + " 个数:");
int value = input.nextInt();
stack[top++] = value;
}
```
4. **出栈操作(弹栈)**:为了按照先进先出(LIFO,Last In First Out)的原则打印元素,我们可以使用循环从栈顶开始取出并打印。
```java
while (top >= 0) {
System.out.println("栈内元素:" + stack[top]);
top--;
}
```
5. **结束程序**:最后别忘了关闭`Scanner`对象。
完整示例代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] stack = new int[10];
int top = -1;
Scanner input = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.print("请输入第 " + (i+1) + " 个数:");
int value = input.nextInt();
stack[top++] = value;
}
while (top >= 0) {
System.out.println("栈内元素:" + stack[top]);
top--;
}
input.close();
}
}
```
阅读全文