数据结构笔记(五)

栈(顺序存储)

typedef int Position;
struct SNode{
    ElemType *data;    //存储元素的数组
    Postion    top;    //栈顶指针
    int       max;    //最大容量
};

typedef struct SNode *Stack;

Stack CerateStack(int max){
    Stack s=(Stcak)malloc(sizeof(struct SNode));
    s->data=(ElemType *)malloc(max*sizeof(ElemType));
    s->top=-1;
    s->max=max;
    return s;
}

boolean isFull(Stack s){
    return (s->top==s->max-1);
    }

booelan push(Stack s,ElemType e){
    if(isFull()){
        printf("栈满");
        return false;
    }
    else {
            s->data[++(s->top)]=e;
            return true;
            }
 }

boolean isEmpty(){
    return s->top==-1;
}

ElemType pop(Stack s){
    if(isEmpty()){
            printf("栈空");
            return ERROR;
            }
    else
           return (s->data[(s->top)--];
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值