Live2D

【保存】

define MAXSIZE 100 /* 栈的最大容量 */

typedef enum {false, true} bool;
typedef int SElemType;
typedef struct{ /* 顺序栈 */
SElemType data[MAXSIZE];
int top; //栈顶指针 ,约定指向栈顶元素的下一个位置
} SqStack;

/* ------------顺序栈的运算实现----------------- */
void initSqStack(SqStack *s)
{
s->top= 0;

}
/* ----判断栈空------ /
bool isEmptyStack(SqStack s)
{
if (s.top==0) //栈顶指针指向栈顶元素的下一个位置
return true;
else
return false;
}
/
-----------入栈操作----------------- */
bool push(SqStack s,SElemType e) / s指向栈的指针变量,指针作为参数,可以将变化后的栈的值传递出来 /
{
if (s->top >=MAXSIZE)
return false;
else
{
s->data[s->top]=e; //先插入,
s->top ++; //栈顶指针后加1
//相当于 s->data[s->top++]
return true;
}
}
/
--------出栈操作------- */
bool pop(SqStack *s,SElemType e) / 指针作为参数,可将修改后的值传递出来 */
{
if (s->top ==0)
return false ;
else
{

   --s->top;            //栈顶指针先减1
   *e=s->data[s->top];  //再读取删除元素
   //*e=s->data[--s->top ];   //等价
  return  true;

}

}
SElemType getTop(SqStack s)
{
SElemType e;
if (s.top ==0)
return false ;
else
{
e=s.data[s.top-1];
return e;
}

}

posted @ 2021-10-13 10:41  主教主  阅读(62)  评论(0编辑  收藏  举报