数据结构----栈(入栈与出栈)

栈: 数据进出,类向箱子放东西和拿东西,先进后出,或者说后进先出。栈分为静态栈和动态栈两种,静态栈用数组实现,
动态栈用链表实现。算法 出栈 入栈(压栈),遍历,清空。
创建栈:

#define MaxSize 100   //定义栈中元素的最大个数

typedef struct{
                Elemtype data[MaxSize];

                int top;

}SqStack;

入栈与出栈:
在这里插入图片描述
入栈:

 bool Push(SqStack &S,Elemtype x){
        if(S.top==MaxSize-1)          //栈满报错

                 return false;

         S.data[++S.top]=x;       //指针先加1,再入栈

                 return true;

}

出栈:

bool Pop(SqStack &S,Elemtype x){
               if(S.top==-1)             //栈空,报错

                        return false;

                     x=S.data[S.top--];   //先出栈,再减1   

                           return true;

}

读栈顶元素:

                bool GetTop(SqStack S,Elemtype &x){
                        if(S.top==-1)        return false;       //栈空报错

                        x=S.data[S.top];          //记录栈顶元素

                          return true;

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值