栈,栈顶,栈底,像个被子,先进后出
SeqStack.h
#define StackSize 100
typedef struct
{
DataType stack[StackSize];
int top;
}SeqStack;
void InitStack(SeqStack *S)
/*将栈初始化为空栈只需要把栈顶指针top置为0*/
{
S->top=0; /*把栈顶指针置为0*/
}
int StackEmpty(SeqStack S)
/*判断栈是否为空,栈为空返回1,否则返回0*/
{
if(S.top==0) /*判断栈顶指针top是否为0*/
return 1; /*当栈为空时,返回1;否则返回0*/
else
return 0;
}
int GetTop(SeqStack S, DataType *e)
/*取栈顶元素。将栈顶元素值返回给e,并返回1表示成功;否则返回0表示失败。*/
{
if(S.top<=0) /*在取栈顶元素之前,判断栈是否为空*/
{
printf("栈已经空!n");
return 0;
}
else
{
*e=S.stack[S.top-1]; /*在取栈顶元素*/
return 1;
}
}
int PushStack(SeqStack *S,DataType e)
/*将元素e进栈,元素进栈成功返回1,否则返回0.*/
{
if(S->top>=StackSize) /*在元素进栈前,判断是否栈已经满*/
{
printf("栈已满,不能进栈!n");
return 0;
}
else
{
S->stack[S->top]=e; /*元素e进栈*/
S->top++; /*修改栈顶指针*/
return 1;
}
}
int PopStack(SeqStack *S,DataType *e)
/*出栈操作。将栈顶元素出栈,并将其赋值给e。出栈成功返回1,否则返回0*/
{
if(S->top<=0) /*元素出栈之前,判断栈是否为空*/
{
printf("栈已经没有元素,不能出栈!n");
return 0;
}
else
{
S->top--; /*先修改栈顶指针,即出栈*/
*e=S->stack[S->top]; /*将出栈元素赋值给e*/
return 1;
}
}
int StackLength(SeqStack S)
/*求栈的长度,即栈中元素个数,栈顶指针的值就等于栈中元素的个数*/
{
return S.top;
}
main.c
#include
#include
typedef char DataType;
#include "SeqStack.h"
int main(void)
{
SeqStack S;
int i;
DataType a[]={'a','b','c','d','e'};
DataType e;
InitStack(&S); //初始化栈
for(i=0;i
if(PushStack(&S,a[i])==0)
{
printf("栈已满,不能进栈!");
return 0;
}
}
printf("出栈的元素:");
if(PopStack(&S,&e)==1)
printf("%4c",e);
if(PopStack(&S,&e)==1)
printf("%4cn",e);
printf("当前栈顶元素是:");
if(GetTop(S,&e)==1)
printf("%4cn",e);
if(PushStack(&S,'f')==0)
{
printf("栈已满,不能进栈!n");
return 0;
}
if(PushStack(&S,'g')==0)
{
printf("栈已满,不能进栈!n");
return 0;
}
printf("当前栈中的元素个数:%dn",StackLength(S));
printf("元素出栈的序列式:");
while(!StackEmpty(S))
{
PopStack(&S,&e);
printf("%4c",e);
}
printf("n");
return 0;
}
星球重启云游戏官方正版 安卓版v1.2.42
下载派对之星国际服 (flash party)安卓版v2.0.15.160832
下载Gym Fighting健身房格斗 安卓版v1.17.2
下载健身房格斗游戏无限金币 安卓版v1.18.2
下载幻兽爱合成小米版 最新版v2.5.6
幻兽爱合成小米版是一款非常好玩的宠物合成类游戏,游戏中有着海
修仙世家模拟器游戏 最新版v1.0.0
修仙世家模拟器是一款玩法新颖的模拟经营放置类挂机修仙游戏,游
国王或失败内购版 最新版v0.28.4
国王或失败内购版是一款非常好玩的模拟经营类手游,玩家在游戏中
飞影铠甲召唤器模拟器 最新版v1.0
飞影铠甲召唤器模拟器是一款可以模拟铠甲勇士变身音效和动作效果
幸福甜点咖啡店无限金币版 去广告版v1.2.2
幸福甜点咖啡店中文内购版是游戏的破解版本,在该版本中为玩家提