栈
来源:互联网 发布:人工智能用在社区服务 编辑:程序博客网 时间:2024/04/30 06:38
- #include"stdio.h"
- #include"malloc.h"
- typedef char datatype;
- typedef struct SeqStack
- {
- datatype elem[100];
- int top;
- }SeqStack,*LinkList;
- void IniSeqStack(LinkList p)
- {
- p->top=-1;
- }
- int push(LinkList p,datatype m)
- {
- if(p->top==99)
- {
- printf("栈满了!\n");
- return 0;
- }
- else
- {
- p->top++;
- p->elem[p->top]=m;
- return 1;
- }
- }
- int pop(LinkList p)
- {
- if(p->top==-1)
- {
- printf("栈已经空了!\n");
- return 0;
- }
- else
- {
- while(p->top!=-1)
- {
- printf("%c",p->elem[p->top]);
- p->top--;
- }
- return 1;
- }
- }
- void main()
- {
- datatype m;
- LinkList p;
- p=(SeqStack *)malloc(sizeof(SeqStack));
- IniSeqStack(p);//初始化
- while(m!='#')
- {
- scanf("%c",&m);
- push(p,m);//进栈
- }
- pop(p);//出栈
- putchar('\n');
- free(p);
- }
本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/817863
0 0