第一次日志

栈是一种重要的线性结构,通常称,栈和队列是限定插入和删除只能在表的“端点”进行的线性表。(后进先出)
–栈的元素必须“后进先出”。
–栈的操作只能在这个线性表的表尾进行。

//判断栈是否空?空则返回1,否则返回0
int IsEmpty ( SeqStack S )
{
return S.top ==-1;
}
//判断栈是否满?满则返回1,否则返回0
int IsFull (SeqStack S)
{
return S.top == Stack_Size-1;
}
//进栈 //若栈满返回0, 否则新元素 x 进栈并返回1
int Push ( SeqStack *S, StackElementType x )
{
if (S->top == Stack_Size-1) //栈满
return FALSE; S->top++; //栈顶指针移动
S->elem[S->top] = x; //加入新元素
return TRUE;
}
//出栈 //删除栈顶元素,并存入x所指空间中
int Pop ( SeqStack *S, StackElementType *x )
{
if( S->top ==-1) //栈空
return FALSE;
else
{
*x = S->elem[S->top];
S->top--; //栈顶指针移动
return TRUE;
}
}
//读栈顶元素 //栈顶元素存入x所指空间中,但未删除
int GetTop ( SeqStack *S, StackElementType *x )
{
if( S->top ==-1)
return FALSE;
else
{
*x = S->elem[S->top]; //栈顶指针不移动
return TRUE;
}
}

posted @ 2020-05-05 21:35  ccc19  阅读(120)  评论(0编辑  收藏  举报