酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

C 语言:用数组实现顺序栈,轻松取出栈顶元素!

在 C 语言中,假设我们使用数组来实现顺序栈,以下是取出栈顶元素的示例代码: ```c #include <stdio.h> #define MAX_SIZE 100 typedef struct { int data[MAX_SIZE]; int top; } Stack; // 初始化栈 void initStack(Stack *s) { s->top = -1; } // 判断栈是否为空 int isEmpty(Stack *s) { return s->top == -1; } // 判断栈是否已满 int isFull(Stack *s) { return s->top == MAX_SIZE - 1; } // 入栈操作 void push(Stack *s, int element) { if (!isFull(s)) { s->data[++s->top] = element; } else { printf("Stack Overflow!\n"); } } // 出栈操作 int pop(Stack *s) { if (!isEmpty(s)) { return s->data[s->top--]; } else { printf("Stack Underflow!\n"); return -1; } } // 取出栈顶元素但不出栈 int peek(Stack *s) { if (!isEmpty(s)) { return s->data[s->top]; } else { printf("Stack is empty!\n"); return -1; } } int main() { Stack s; initStack(&s); push(&s, 10); push(&s, 20); push(&s, 30); int topElement = peek(&s); if (topElement!= -1) { printf("Top element: %d\n", topElement); } return 0; } ``` 在上述代码中,`peek`函数用于取出栈顶元素但不将其出栈。如果栈为空,会输出相应的提示信息并返回 `-1` 。 ######[AI写代码神器 | 466点数解答 | 2024-11-07 10:49:31]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]