#include <iostream>
#include <stdio.h>
#define MaxSize 50
typedef int ElemType;
typedef struct {
ElemType data[MaxSize];
int top;
}SqStack;
void InitStack(SqStack &S)
{
S.top=-1;
}
bool StackEmpty(SqStack S)
{
if(S.top==-1)
{
return true;
}
return false;
}
bool Push(SqStack &S,ElemType m)
{
if(S.top==MaxSize-1)
{
return false;
}
S.data[++S.top]=m;
return true;
}
bool GetTop(SqStack S,ElemType &m) {
if(StackEmpty(S))
{
return false;
}
m=S.data[S.top];
return true;
}
bool Pop(SqStack &S,ElemType &m)
{
if(StackEmpty(S))
{
return false;
}
m=S.data[S.top--];
return true;
}
int main() {
SqStack S;
bool flag;
ElemType m;
InitStack(S);
flag=StackEmpty(S);
if (flag)
{
printf("stack is empty\n");
}
Push(S,3);
Push(S,4);
Push(S,5);
flag=GetTop(S,m);
if(flag)
{
printf("get the %d\n",m);
}
flag=Pop(S,m);
if(flag)
{
printf("Pob the %d\n",m);
}
return 0;
}
算法:数据结构栈的初始化、入栈、弹栈
最新推荐文章于 2024-11-14 21:21:03 发布