顺序栈结构
#include<iostream> #define MaxSize 50 using namespace std; typedef int ElemType; typedef struct { ElemType data[MaxSize]; int top; }SqStack;
初始化栈
void InitStack(SqStack &S){ //初始化栈 S.top=-1; }
判断是否为空栈
bool IsEmptyStack(SqStack &S){ //判断是否为空栈 return S.top==-1; }
压栈
bool Push(SqStack &S,ElemType e){ //进栈 if(S.top==MaxSize-1){ //栈满,报错 return false; } S.data[++S.top]=e; //指针先加一,在入栈 return true; }
出栈
bool Pop(SqStack &S,ElemType &x){ //出栈 if(S.top==-1){ return false; //空栈,报错 } x=data[S.top--]; return true; }
读栈顶上的元素
bool GetTop(SqStack &S,ElemType &x){ //读栈顶上的元素 if(S.top==-1){ return false; //空栈,报错 } x=data[S.top]; return true; }
原文链接: https://www.cnblogs.com/WP-WangPin/p/12741895.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/343553
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!