栈的C语言实现源码
2014-08-27 17:09
190 查看
struct Node; typedef struct Node* pNode; typedef pNode Stack; struct Node { ElemType elem; pNode next; } int IsEmpyt(Stack s) { return (s->next == NULL); } Stack CreateStack() { Stack s; if( !(s = (pNode)malloc(sizeof(struct Node)))) { perror("create error!"); } else { s->next = NULL; return s; } } void Push(Stack s, ElemType elem) { pNode pTmpNode = (pNode) malloc(sizeof(struct Node)); if(pTmpNode == NULL) { FatalError("Out of space"); } else { pTmpNode->elem = elem; pTmpNode->next = s->next; s->next = pTmpNode; } } int Top(Stack s) { if(!IsEmpyt(s)) return s->next->elem; else perror("Empty stack"); } void Pop(Stack s) { pNode pFirst; if(IsEmpyt(s)) perror("Empty stack"); else { pFirst = s->next; s->next = s->next->next; free(pFirst); } }
相关文章推荐
- C语言实现回调函数的源码
- 非典型2D游戏引擎 Orx 源码阅读笔记(6) C语言实现的面向对象
- C语言实现的list -- 源码摘自wine
- 深入剖析Android中init进程实现的C语言源码
- C语言实现HashTable(PHP源码实现)
- C语言实现正余弦函数图像的输出!(源码)
- 线性表链式存储的C语言实现(含源码)
- C语言实现的ls命令源码分享
- C语言实现的ls命令源码分享
- 用C语言实现对bmp格式图片打码(附源码)
- 关于C++类库KYLib: 用C语言实现平衡二叉树(AVL tree)的源码
- 一种用C语言实现的打印程序源码的方法
- C语言递归实现N宫格(九宫格)源码
- Windows下使用C语言实现Ping的源码
- 【源码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)
- SHA-1算法的C语言实现(源码来自网络)
- 用C语言实现病毒源码与解毒程序设计
- Python源码 -- C语言实现面向对象编程(基类&派生类&多态)
- 堆排序算法的C语言和Python版本源码实现
- Linux下C语言实现C/S模式编程(附源码,运行截图)