数据结构---栈的链式实现
来源:互联网 发布:centos部署git服务器 编辑:程序博客网 时间:2024/05/16 08:18
链栈和链表的实现方式大致相同,只是链栈只能在头部操作。
#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef struct Node{ElemType Data;struct Node * Next;}Node;typedef struct {Node *Base;Node *Top;}Stack, *LinkStack;//create an empty stackLinkStack InitStack();//Push an element into LinkStackvoid Push(LinkStack S, ElemType E);//Pop an element from top of LinkStack, return the top of stackElemType Pop(LinkStack S);void PrintStack(LinkStack S);int main(){LinkStack S = InitStack();Push(S, 1);Push(S, 2);Push(S, 3);PrintStack(S);printf("%d %d\n", Pop(S), Pop(S));PrintStack(S);return 0;}LinkStack InitStack(){LinkStack S = (LinkStack)malloc(sizeof(Stack));S->Base = (Node *)malloc(sizeof(Node));S->Top = S->Base;return S;}void Push(LinkStack S, ElemType E){S->Top->Data = E;S->Top->Next = (Node *)malloc(sizeof(Node));S->Top = S->Top->Next;S->Top->Next = NULL;}ElemType Pop(LinkStack S){Node *Tmp = S->Base;while(Tmp->Next != S->Top)Tmp = Tmp->Next;S->Top = Tmp;Tmp = Tmp->Next;free(Tmp);S->Top->Next = NULL;return S->Top->Data;}void PrintStack(LinkStack S){Node *Tmp = S->Base;while(Tmp != S->Top){printf("%d ", Tmp->Data);Tmp = Tmp->Next;}printf("\n");}
0 0
- 数据结构-链式栈的实现
- 数据结构---栈的链式实现
- 数据结构-->栈的链式实现
- 数据结构双语课->栈的链式实现
- 数据结构和算法--栈的链式实现
- 数据结构基础【06】栈的链式实现
- [数据结构]链式队列的实现。
- 数据结构-链式队列的实现
- 数据结构---队列的链式实现
- 数据结构 - 队列的链式实现
- 数据结构 链式 栈 c实现
- 数据结构c++实现----链式栈
- 数据结构栈(链式实现)
- [数据结构]栈之链式栈的类模板实现
- (C语言)栈的链式实现(数据结构九)
- 数据结构:栈的链式实现(C语言描述)
- JAVA版数据结构之栈的链式存储实现
- 数据结构与算法设计---链式栈的实现(C++)
- 用C#进行ArcGIS 10 Engine 开发 - 安装配置和入门程序说明
- JAVA学习笔记(一)---单例模式与继承
- Vi 常用命令
- win7 linux配置jdk(windows 和 linux环境下)
- 【Android游戏开发之八】游戏中添加音频-详解MediaPlayer与SoundPoo!并讲解两者的区别和游戏中的用途!
- 数据结构---栈的链式实现
- hdu1081To The Max
- uvalive4394(区间DP)
- ContentProvider
- 微软笔试题-Shortest Proper Prefix
- swf文件结构解析
- Sqoop导入数据到Hadoop代理执行
- mvn编译时出现java.lang.OutOfMemoryError: PermGen space
- 嵌入式系统中的状态机设计心得