每天一个小程序(4)——顺序栈
来源:互联网 发布:苹果udid定制软件 编辑:程序博客网 时间:2024/05/01 07:21
顺序栈的结构体很简单,一个保存数据的数组和一个记录栈顶的整型值。
#include <stdio.h>#include <stdlib.h>#define MAXSIZE 100typedef int datatype;typedef struct {datatype data[MAXSIZE];int top;//栈顶}SeqStack;SeqStack* Init_SeqStack();int Empty_SeqStack(SeqStack* s);int Push_SeqStack(SeqStack* s,datatype x);int Pop_SeqStack(SeqStack* s,datatype *x);SeqStack* Init_SeqStack(){SeqStack *s;s = (SeqStack*)malloc(sizeof(SeqStack));s->top = -1;return s;}int Empty_SeqStack(SeqStack* s){if(s->top == -1)return 1;else return 0;}int Push_SeqStack(SeqStack* s,datatype x){if(s->top == MAXSIZE - 1)return 0;else{s->top++;s->data[s->top] = x;return 1;}}int Pop_SeqStack(SeqStack* s,datatype *x){if(Empty_SeqStack(s) == 1)return 0;else{*x = s->data[s->top];s->top--;return 1;}}void main(){int data = 0;SeqStack* s = Init_SeqStack();printf("入栈\n");scanf("%d",&data);while(data != -1){Push_SeqStack(s,data);scanf("%d",&data);}printf("出栈\n");while(Pop_SeqStack(s,&data)){printf("%d ",data);}}
0 0
- 每天一个小程序(4)——顺序栈
- 每天一个小程序(8)——顺序循环队列
- 每天一个小程序(6)—— 链栈
- 每天一个小程序(9)——链队
- 每天一个小程序(18)——“牛津"词典
- 每天一个小程序(5)——栈的应用数制转换
- 每天一个小程序(19)——选择排序
- 每天一个java小程序-4
- 每天一个java小程序-4
- 每天一段小代码——顺序栈
- 每天一个小程序(1)——链表的创建
- 每天一个小程序(3)——双向链表
- 每天一个小程序(7)——C++中sort函数的应用
- 每天一个小程序(10)——直接插入排序
- 每天一个小程序(11)——折半插入排序
- 每天一个小程序(12)——交换排序之冒泡排序
- 每天一个小程序(13)——统计字符个数
- 每天一个小程序(14)——交换排序之双向冒泡排序
- Jdbc操作MySql数据库插入数据性能研究
- 重装系统之后 Oracle 数据库的恢复的方法
- 各排序算法性能分析
- OC中对象的常用方法
- YUV颜色空间介绍
- 每天一个小程序(4)——顺序栈
- crtmpserver流媒体服务器的介绍与搭建
- 11款Java工具:源代码优化与分析
- servlet 认证,授权
- 智能指针weak_ptr用途
- 使用Android adb命令来启动Android应用程序
- system()函数
- OC中的类目与协议
- Oracle数据库备份与恢复精华资料集锦