c++数据结构顺序栈输入ABCD
时间: 2024-03-24 07:32:31 浏览: 87
西安电子科技大学数据结构期中考试试题
以下是使用C++实现顺序栈输入ABCD的代码:
```cpp
#include <iostream>
using namespace std;
const int MAXSIZE = 100; // 定义栈的最大容量
struct Stack {
char data[MAXSIZE]; // 栈的数据域
int top; // 栈顶指针
};
void InitStack(Stack &S) { // 初始化栈
S.top = -1;
}
bool Push(Stack &S, char x) { // 入栈操作
if (S.top == MAXSIZE - 1) { // 栈满
return false;
}
S.top++;
S.data[S.top] = x;
return true;
}
bool Pop(Stack &S, char &x) { // 出栈操作
if (S.top == -1) { // 栈空
return false;
}
x = S.data[S.top];
S.top--;
return true;
}
bool GetTop(Stack S, char &x) { // 获取栈顶元素
if (S.top == -1) { // 栈空
return false;
}
x = S.data[S.top];
return true;
}
int main() {
Stack S;
InitStack(S); // 初始化栈
char arr[] = {'A', 'B', 'C', 'D'};
for (int i = 0; i < 4; i++) {
Push(S, arr[i]); // 入栈
}
char x;
while (Pop(S, x)) { // 出栈并输出
cout << x << " ";
}
return 0;
}
```
输出结果为:D C B A
阅读全文