C语言-栈
2016-04-13 19:47
218 查看
栈的模版
欢迎关注我的微信个人订阅号
每天多学一点0.0
#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct linknode { ElemType data; struct linknode *next; }LiStack; /*---初始化栈---*/ void InitStack(LiStack * &s) { s=(LiStack *)malloc(sizeof(LiStack)); s->next=NULL; } /*---销毁栈---*/ void DestroyStack(LiStack * &s) { LiStack *p=s,*q=s->next; while(q!=NULL) { free(p); p=q; q=p->next; } free(p); } /*---判断栈是否为空---*/ bool StackEmpty(LiStack *s) { return (s->next==NULL); } /*---进栈---*/ void Push(LiStack * &s,ElemType e) { LiStack *p; p=(LiStack *)malloc(sizeof(LiStack)); p->data=e; p->next=s->next; s->next=p; } /*---出栈---*/ bool Pop(LiStack * &s,ElemType &e) { LiStack *p; if(s->next==NULL) { return false; } p=s->next; e=p->data; s->next=p->next; free(p); return true; } /*---取栈顶元素---*/ bool GetTop(LiStack * &s,ElemType &e) { if(s->next==NULL) { return false; } e=s->next->data; return true; } int main() { return 0; }
欢迎关注我的微信个人订阅号
每天多学一点0.0
相关文章推荐
- C语言-串
- C++的深拷贝与浅拷贝
- c++第三次作业
- 蓝桥杯c语言B组题解
- C++primer 练习13.39
- c语言解析xml文件
- c++上机实验3定期存款利息计算器
- C++多态
- 拾遗与填坑《深度探索C++对象模型》3.2节
- 拾遗与填坑《深度探索C++对象模型》3.2节
- 关于用程序模拟的随机分布
- 动态规划解背包问题/C++/Knapsack problem
- 动态规划解背包问题/C++/Knapsack problem
- C++ debug时提示 已触发了一个断点
- c++实现队列
- C++ primer 第六章 --语句
- C++中广义表的实现
- 指针变量能否做加、减法 、比较大小?答案,是可以的。但又与普通变量做加减法运算有区别:
- 第五篇——C++实现四则运算
- sizeof详解 -- C++