其他分享
首页 > 其他分享> > Day5:顺序栈的C语言实现

Day5:顺序栈的C语言实现

作者:互联网

1. 结构体定义

#define MAXSIZE 10
typedef struct {
    int data[MAXSIZE];	// 数据域
    int top;			// 栈顶指针
}SqStack;

2. 初始化

void SqStackInit(SqStack *ss)
{
    ss->top = -1;
}

3. 判空

int SqStackEmpty(SqStack *ss)
{
    if(ss->top == -1)
        return 1;
    else
        return -1;
}

4. 压入元素

int SqStackPush(SqStack *ss, int e)
{
    if(ss->top == MAXSIZE - 1)
        return -1;
    ss->data[++ss->top] = e;
    return 1;
}

5. 弹出元素

int SqStackPop(SqStack *ss, int *e)
{
    if(SqStackEmpty(ss) > 0)
        return -1;
    *e = ss->data[ss->top--];
    return 1;
}

6. 读栈顶元素

int SqStackTop(SqStack *ss, int *e)
{
    if(SqStackEmpty(ss) > 0)
        return -1;
    *e = ss->data[ss->top];
    return 1;
}

标签:顺序,return,SqStack,ss,top,Day5,C语言,int,data
来源: https://blog.csdn.net/weixin_44712386/article/details/123309245