用C++实现使用数组建立一个能容纳10个元素的栈,然后从键盘输入10个数字,依次存入栈中,然后按照出栈的标准顺序,依次输出栈内的每一个元素。
时间: 2024-09-19 14:12:55 浏览: 35
在C++中,我们可以使用数组来创建一个简单的栈。这里是一个基本的例子,它包括栈的初始化、元素的压入(入栈)和弹出(出栈)。首先,我们定义一个静态大小的栈结构:
```cpp
#include <iostream>
using namespace std;
// 定义一个动态数组作为栈的基础
const int STACK_SIZE = 10;
int stack[STACK_SIZE]; // 栈数组
int top = -1; // 栈顶指针
// 函数用于判断栈是否已满
bool isFull() {
return (top == STACK_SIZE -1);
}
// 函数用于压入元素
void push(int value) {
if (!isFull()) {
top++;
stack[top] = value;
cout << "Pushing " << value << " onto the stack." << endl;
} else {
cout << "Stack is full. Can't push " << value << "." << endl;
}
}
// 函数用于弹出元素并返回(如果栈非空)
int pop() {
if (!isEmpty()) {
int value = stack[top];
top--;
cout << "Popping from the stack: " << value << endl;
return value;
} else {
cout << "Stack is empty. Nothing to pop." << endl;
return -1; // 返回一个特殊值表示栈空
}
}
int main() {
for (int i = 0; i < 10; ++i) {
int num;
cout << "Enter number " << i+1 << ": ";
cin >> num;
push(num); // 将数字放入栈
}
while (!isEmpty()) { // 只要栈不空就继续弹出并打印
cout << "Top element is: " << pop() << endl;
}
return 0;
}
```
在这个程序中,`push`函数将元素添加到栈顶,而`pop`函数则移除并返回栈顶元素(若栈为空,则返回-1表示异常)。用户可以逐个输入10个数字,然后程序会按照先进后出(LIFO,Last In First Out)的原则输出这些元素。
阅读全文