#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX 10
typedef struct SqStack {
int data[MAX];
int top;
}SqStack;
//初始化栈
bool InitStack(SqStack* q)
{
q->top = -1;
return true;
}
//判断栈是否为空
bool StackEmpty(SqStack* q)
{
if (q->top == -1)
return true;
else
return false;
}
//判断栈是否已满
bool StackFull(SqStack* q)
{
if (q->top == MAX - 1)
return true;
else
return false;
}
//进栈
bool Push(SqStack* q, int num)
{
if (q->top==MAX-1)
{
return false;
}
q->data[++q->top]= num;
return true;
}
//出栈
bool Pop(SqStack* q, int *num)
{
if (q->top == -1)
{
return false;
}
*num=q->data[q->top--];
return true;
}
//取栈顶元素
bool GetTop(SqStack* q, int* num)
{
if (q->top == -1)
{
return false;
}
*num = q->data[q->top];
return true;
}
C语言实现顺序栈
最新推荐文章于 2024-11-11 09:41:37 发布