(1) 定义顺序栈结构对象,最多能存100个数据; (2) 调用创建函数初始化顺序栈为A、B、C、D、E、F、G、H、I、J、K、H、I (3) 调用出栈函数,要求输出当前出栈元素的顺序;
时间: 2024-10-21 20:11:02 浏览: 23
数据结构实验指导书2.pdf
首先,我们可以定义一个简单的顺序栈(也称为数组栈)结构,它包含一个数组用于存储元素,以及两个变量top表示栈顶的位置,和max_size表示栈的最大容量。这里以C++为例:
```cpp
#include <iostream>
using namespace std;
class Stack {
private:
int capacity;
char data[101]; // 100个数据的空间
int top;
public:
Stack(int sz) {
capacity = sz;
top = -1;
}
// 插入元素到栈顶
void push(char item) {
if (top < capacity - 1) {
top++;
data[top] = item;
} else {
cout << "Stack overflow!" << endl;
}
}
// 删除并返回栈顶元素,如果为空则返回空字符
char pop() {
if (top == -1) {
return '\0'; // 表示栈为空
} else {
char item = data[top];
top--;
return item;
}
}
// 查看栈是否为空
bool isEmpty() {
return top == -1;
}
};
int main() {
Stack stack(100); // 初始化顺序栈
stack.push('A');
stack.push('B');
stack.push('C');
stack.push('D');
stack.push('E');
stack.push('F');
stack.push('G');
stack.push('H');
stack.push('I');
stack.push('J');
stack.push('K'); // K会替换掉之前出栈的H,因为栈顶只保留最新入栈的元素
while (!stack.isEmpty()) { // 出栈并打印元素
cout << stack.pop() << " ";
}
return 0;
}
```
当运行这个程序时,输出将会是:`J K H I G F E D C B A `。
阅读全文