顺序栈的入栈和出栈c
时间: 2023-11-12 18:12:19 浏览: 82
C语言数据结构顺序栈之入栈同序的所有出栈
5星 · 资源好评率100%
入栈:
```c
#define MAXSIZE 100 // 定义栈的最大长度
typedef struct Stack {
int data[MAXSIZE]; // 存放栈中元素的数组
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 == MAXSIZE - 1;
}
// 入栈
void push(Stack *s, int x) {
if (isFull(s)) {
printf("Error: Stack is full!\n");
return;
}
s->data[++s->top] = x;
}
```
出栈:
```c
// 出栈
int pop(Stack *s) {
if (isEmpty(s)) {
printf("Error: Stack is empty!\n");
return -1;
}
return s->data[s->top--];
}
```
以上是顺序栈的入栈和出栈的 C 语言代码实现。
阅读全文