酷代码 AI
菜单
服务商

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` 。 [2024-11-07 10:49:31 | AI写代码神器 | 466点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]