LIFO栈ADT接口数组实现
来源:net 网络用户发布,如有版权联系网管删除 2018-10-12
LIFO栈 ADT接口 数组实现
LIFO 栈结构
1 typedef int ElemenType;2 struct seqStack{3 ElemeType data[MaxSize];4 int top;5 };6 typedef struct seqStack* Stack;
LIFO 栈基本操作
1 //LIFO 顺序栈 初始化 2 void InitStack(Stack s){ 3 s -> top = -1; 4 } 5 6 //LIFO 顺序栈判断栈空 7 boolean StackEmpty(Stack s){ 8 if(s -> top == -1) return true; 9 else return false;10 }11 12 //LIFO 顺序栈判断栈满13 boolean StackFull(Stack s){14 if(s -> top == MaxSize-1) return true;15 else return false;16 }17 18 //LIFO 顺序栈进栈19 void Push(Stack s, ElemType x){20 if(s->top == MaxSize-1){21 printf("栈满溢出错误!n");22 exit(1);23 }24 s -> top++;25 s -> data[s>top] = x;26 }27 28 //LIFO 顺序栈出栈29 ElemType Pop(Stack s){30 if(StackEmpty(s){31 printf("栈下溢错误!n");32 exit(1);33 }34 x = s->data[s->top];35 s -> top--;36 return x;37 }38 39 //LIFO 顺序栈读取栈顶元素40 ElemType GetTop(Stack s){41 if(StackEmpty(s){42 printf("下溢错误!n");43 exit(1);44 }45 return s -> data[s -> top];46 }
posted on 2018-09-30 10:51 MACHINE_001 阅读(...) 评论(...) 编辑 收藏
查看评论 回复
"LIFO栈ADT接口数组实现"的相关文章
- 上一篇:第二章算法程序的灵魂
- 下一篇:LIFO栈ADT接口实现十进制转其他进制