zuoye
来源:互联网 发布:python 求最小凸包 编辑:程序博客网 时间:2024/04/29 11:57
#include "stdio.h"#include "malloc.h"#define MaxSize 100typedef char ElemType;typedef struct{ElemType data[ MaxSize ];int top; //栈顶指针}SqStack;void InitStack( SqStack *&s) //初始化栈s{s = ( SqStack *) malloc( sizeof(SqStack));s -> top = -1; //栈顶指针置为-1}bool StackEmpty ( SqStack *&s) // 判断栈为空{return ( s -> top == -1);}bool Pop ( SqStack *&s, ElemType e) //进栈{if( s -> top == MaxSize - 1) //栈满的情况,即栈上溢出return false;s -> top++; //栈顶指针增1s -> data [ s -> top ] = e; //元素e放在栈顶指针处return true;}bool GetTop ( SqStack *s, ElemType &e) {if ( s -> top == -10) //栈为空的情况,即栈下溢出return false;e = s -> data [s -> top]; //取出栈顶元素return true;}bool Pop ( SqStack *&s, ElemType &e) {if ( s -> top == -1) //栈为空的情况,即栈下溢出return false;e = s -> data [ s -> top]; // 取出栈顶元素s -> top--; //栈顶指针减1return true;}void DestoryStack (SqStack *s) //销毁栈{free( s );}extern void IntStack (SqStack *Svoid main(){ElemType e;SqStack *s;printf (" 栈s的基本运算如下;\n");printf ("初始化栈\n");printf ("栈为%s \n", (StackEmpty(s)?"空":"非空"));printf ("依次进栈元素a,b,c,d,e\n");Push(s, 'a');Push(s, 'b');Push(s, 'c'); Push(s, 'd');Push(s, 'e');printf ("栈为%s \n", (StackEmpty(s)?"空":"非空"));printf ("出栈序列");while (!StackEmpty(s)){Pop(s,e0;printf("%c",e);}printf ("\n");printf ("栈为%s\n", (StackEmpty(s)?"空":"非空"));printf ("释放栈\n");DestoryStack(s);}
0 0
- zuoye
- zuoye
- ZUOYE
- zuoye
- zuoye
- zuoye
- zuoye
- zuoye
- zuoye
- zuoye
- ZUOYE
- zuoye
- zuoye
- zuoye
- Zuoye
- zuoye
- c++zuoye
- C++ zuoye
- 深刻理解Linux进程间通信(IPC)
- 各大输入法分类词库内部格式的简单比较 (2013-02-17 14:03:11)
- 2014_03_27工作日志:windows编程需要注意的一些内容。
- 解决terminal中emacs的alt键和菜单栏冲突
- mysql utf8_general_ci和utf8_bin的区别
- zuoye
- ENVI 波段运算的函数和实例
- 关于 Redis 内存使用总结
- axis2学习——axis2的安装
- build settings参数详解
- Java基础笔记——对象初始化
- 查看Oracle数据库连接数
- NSNumber常用操作
- GetInstance()的用法