用C语言写伪代码:定义顺序存储的栈(数组实现),数据元素是 int 型
时间: 2024-09-21 09:10:58 浏览: 68
在C语言中,我们可以使用数组来实现一个简单的顺序存储栈。下面是一个基本的伪代码示例:
```c
// 定义栈的最大容量
#define MAX_STACK_SIZE 10
typedef struct {
int stack[MAX_STACK_SIZE]; // 整型数组作为栈的底层存储
int top; // 栈顶指针,记录当前栈顶的位置
} Stack;
// 初始化栈
void init(Stack *s) {
s->top = -1;
}
// 判断栈是否为空
int is_empty(Stack *s) {
return s->top == -1;
}
// 将元素压入栈顶
void push(Stack *s, int value) {
if (s- 1) {
s->stack[++s->top] = value;
} else {
printf("Stack overflow!\n");
}
}
// 弹出并返回栈顶元素
int pop(Stack *s) {
if (!is_empty(s)) {
return s->stack[s->top--];
} else {
printf("Stack underflow!\n");
return -1; // 返回错误值,表示没有元素可弹出
}
}
// 获取栈顶元素但不移除它(检查栈顶内容)
int peek(Stack *s) {
if (!is_empty(s)) {
return s->stack[s->top];
} else {
return -1; // 或者抛出异常,具体取决于实现
}
}
阅读全文