用c语言实现读取顺序栈的栈顶元素操作
时间: 2024-10-27 10:09:07 浏览: 35
在C语言中,顺序存储的栈(也叫数组栈)通常采用数组来实现。栈顶元素的操作主要是push(入栈)和pop(出栈)。当你需要获取栈顶元素时,并不需要直接访问数组的最后一个元素,而是通过维护一个称为top的变量来追踪栈顶位置。以下是基本的读取栈顶元素(查看但不移除)的步骤:
```c
#include <stdio.h>
#define MAX_SIZE 10 // 定义栈的最大容量
int stack[MAX_SIZE]; // 顺序栈数组
int top = -1; // 初始化栈顶指针
// 函数声明,用于检查栈是否为空
int isEmpty() {
return (top == -1);
}
// 函数声明,用于获取栈顶元素
int peek() {
if (isEmpty()) {
printf("Stack is empty.\n");
return -1; // 如果空,返回错误值
}
else {
return stack[top]; // 返回栈顶元素
}
}
int main() {
// ... 其他栈的初始化和插入操作 ...
if (!isEmpty()) { // 检查栈非空
int topElement = peek(); // 调用peek函数获取并打印栈顶元素
printf("Top element is: %d\n", topElement);
}
return 0;
}
```
在这个例子中,`peek()`函数首先检查栈是否为空,然后返回栈顶元素。如果尝试在空栈上操作,函数会显示"Stack is empty."。
阅读全文