0
点赞
收藏
分享

微信扫一扫

Day5:顺序栈的C语言实现

快乐码农Alan007 2022-03-11 阅读 52

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;
}
举报

相关推荐

0 条评论