创建一个长度为6的顺序栈,要求将x的值进行入栈和出栈操作 c语言
时间: 2024-10-24 07:07:31 浏览: 17
栈:顺序栈和链表栈_C语言项目
在C语言中,你可以使用数组来创建一个简单的顺序栈。这里是一个基本的例子,展示了如何创建、入栈和出栈:
```c
#include <stdio.h>
#define MAX_SIZE 6
// 定义栈结构体
typedef struct {
int stack[MAX_SIZE]; // 栈存储区
int top; // 栈顶指针
} Stack;
// 初始化栈
void init(Stack *s) {
s->top = -1;
}
// 判断栈是否已满
int is_full(Stack *s) {
return (s->top == MAX_SIZE - 1);
}
// 判断栈是否为空
int is_empty(Stack *s) {
return (s->top == -1);
}
// 入栈操作
void push(Stack *s, int x) {
if (is_full(s)) {
printf("Stack overflow!\n");
return;
}
s->top++;
s->stack[s->top] = x;
}
// 出栈操作
int pop(Stack *s) {
if (is_empty(s)) {
printf("Stack underflow!\n");
return -1; // 返回错误码表示空栈
}
int value = s->stack[s->top];
s->top--;
return value;
}
int main() {
Stack myStack;
init(&myStack);
// 入栈
push(&myStack, 5); // 假设x=5
push(&myStack, 10);
// 出栈并打印元素
int poppedValue = pop(&myStack);
if (poppedValue != -1)
printf("Popped value: %d\n", poppedValue);
return 0;
}
```
在这个例子中,我们首先初始化栈,并提供了一些基本的操作函数如`push`, `pop`。注意,在实际应用中,你可能需要添加更多的错误检查和边界处理。
阅读全文