线性表------链栈
来源:互联网 发布:王宝强演技 知乎 编辑:程序博客网 时间:2024/06/05 09:31
链栈的存储结构其实就是单链表,插入和删除在链表头进行(书上这么写,个人认为只要是在链表一端操作即可)。
链栈的数据结构类型为:
#include <cstdio>#include <cstdlib>typedef int DataType;struct LinkStack{DataType data;struct LinkStack *next;};
基本操作实现:
//初始化头节点, 数据域存储链栈大小,指针域置空 void InitStack(LinkStack &s){s.data = 0; s.next = NULL;}bool isEmpty(LinkStack &s){return s.data == 0 ? true : false;} void Push(LinkStack &s, DataType e){LinkStack *p;p = (LinkStack*)malloc(sizeof(LinkStack));p->data = e;p->next = s.next;s.next = p;s.data++;}DataType Pop(LinkStack &s){if(isEmpty(s)){printf("Empty!\n");return NULL;}LinkStack *p;DataType top;p = s.next;s.next = p->next;s.data--;top = p->data;free(p);return top;}测试代码:
int main(){LinkStack s;InitStack(s);for(int i = 0; i < 10; i++)Push(s, i);int t;while(!isEmpty(s)){t = Pop(s);printf("%d ", t);}printf("\n");t = Pop(s);Push(s, 100);t = Pop(s);printf("%d\n", t);return 0;}
0 0
- 线性表------链栈
- 线性表-链栈
- 线性表--线性存储
- 线性表 线性结构
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 线性表
- 关于编写性能高效的javascript事件的技术
- hdu 2196 computer
- 探真无阻塞加载javascript脚本技术,我们会发现很多意想不到的秘密
- POJ 2069 Super Star 爬山
- event.which
- 线性表------链栈
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
- Android 性能优化方法
- Windows2003server共享文件设置方法与技巧
- java动态代理(JDK和cglib)
- jQuery 事件 - keyup() 方法
- 架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
- Web前端学习笔记:Bootstrap框架