使用C++语言编写一个演示堆栈的程序。
时间: 2023-02-21 18:21:23 浏览: 60
一个简单的栈演示程序
好的,在这里我为您提供一个使用 C 语言编写的简单的堆栈演示程序。这个程序演示了如何创建一个堆栈,并演示了堆栈的 push 和 pop 操作。
首先,我们需要定义一个堆栈的结构体,包括堆栈的最大容量、当前堆栈大小、堆栈数据的数组和栈顶指针。
```
#define MAX_STACK_SIZE 100
typedef struct {
int data[MAX_STACK_SIZE];
int top;
int max_size;
} Stack;
```
接下来,我们可以实现一些用于操作堆栈的函数。
```
// 创建一个新的空堆栈
Stack* create_stack(int max_size) {
Stack* stack = (Stack*)malloc(sizeof(Stack));
stack->top = -1;
stack->max_size = max_size;
return stack;
}
// 将一个元素压入堆栈顶部
void push(Stack* stack, int value) {
if (stack->top + 1 >= stack->max_size) {
// 堆栈已满,无法继续压入
return;
}
stack->top++;
stack->data[stack->top] = value;
}
// 将堆栈顶部的元素弹出
int pop(Stack* stack) {
if (stack->top < 0) {
// 堆栈为空,无法弹出
return -1;
}
int value = stack->data[stack->top];
stack->top--;
return value;
}
// 获取堆栈顶部的元素
int peek(Stack* stack) {
if (stack->top < 0) {
// 堆栈为空,无法获取
return -1;
}
return stack->data[stack->top];
}
// 判断堆栈是否为空
int is_empty(Stack* stack) {
return stack->top
阅读全文