#define MAXSIZE 100
#define DataType int
typedef struct SqStack
{
DataType data[MAXSIZE];
int top;
};
void InitStack(SqStack sqStack);
BOOL Push(SqStack sqStack, DataType da);
BOOL PopUp(SqStack sqStack);
BOOL IsEmpty(SqStack sqStack);
/************************************************************************
函数名: InitStack
作 者: 谭友亮(Charles Tan)
日 期: 2013-4-24
作 用: 初始化栈
形参数:
返回值:
************************************************************************/
void InitStack(SqStack sqStack)
{
memset(sqStack.data, 0, sizeof(sqStack.data));
sqStack.top = 0;
}
/************************************************************************
函数名: Push
作 者: 谭友亮(Charles Tan)
日 期: 2013-4-24
作 用: 进栈
形参数:
返回值:
************************************************************************/
BOOL Push(SqStack sqStack, DataType da)
{
if (sqStack.top == MAXSIZE)
{
return FALSE;
}
sqStack.data[sqStack.top++] = da;
return TRUE;
}
/************************************************************************
函数名: PopUp
作 者: 谭友亮(Charles Tan)
日 期: 2013-4-24
作 用: 出栈
形参数:
返回值:
************************************************************************/
BOOL PopUp(SqStack sqStack)
{
if (sqStack.top == 0)
{
return FALSE;
}
sqStack.top--;
return TRUE;
}
/************************************************************************
函数名: IsEmpty
作 者: 谭友亮(Charles Tan)
日 期: 2013-4-24
作 用: 判断栈是否为空
形参数:
返回值:
************************************************************************/
BOOL IsEmpty(SqStack sqStack)
{
if (sqStack.top == 0)
{
return TRUE;
}
else
{
return FALSE;
}
}
顺序栈的相关操作
最新推荐文章于 2022-10-20 21:47:45 发布