博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链栈的初始化,建立,插入,查找,删除。
阅读量:6178 次
发布时间:2019-06-21

本文共 1755 字,大约阅读时间需要 5 分钟。

--

代码//////链栈的初始化,建立,插入,查找,删除。  ////Author:Wang Yong                            //    //Date:    2010.8.19                            //////#include 
#include
typedef int ElemType;/////定义链栈的结构类型typedef struct StackNode { ElemType data; //栈的数据 struct StackNode *next; //指针域 } StackNode,*LinkStack;////链栈的初始化LinkStack LinkStackInit(){ LinkStack top; //构造一个空栈 top = (StackNode *)malloc(sizeof(StackNode)); if(!top) printf("OVERFLOW\n"); top = NULL; return top; }///////判断栈空的算法int LinkStackEmpty(LinkStack top){ if(!top) return 1; else return 0;}//////进栈的算法LinkStack LinkStackPush(LinkStack top,ElemType x){ LinkStack p; p = (StackNode *)malloc(sizeof(StackNode)); //创建一个结点 p->data = x; //设置结点的数据域 p->next = top; //设置结点的指针域 top = p; //设置新的栈顶 return top;}//////出栈的算法ElemType LinkStackPop(LinkStack &top)//出栈的时候必须判断是否栈空 { LinkStack p; ElemType x; if(top != NULL) { x = top->data; //取栈顶元素 p = top; //将栈顶结点重置 top = top->next; free(p); //释放原栈顶结点空间 } else printf("stack empty!\n"); return x;} int main(){ LinkStack lstack; lstack = LinkStackInit(); ElemType x; printf("请输入进栈的元素:"); while(scanf("%d",&x) != EOF) { lstack = LinkStackPush(lstack,x); } LinkStack p; for(p = lstack;p != NULL; p = p->next) printf("%d ",p->data); printf("出栈的结果为:"); while(lstack != NULL) printf("%d ",LinkStackPop(lstack)); return 0;}

 

 

 

 

 

 

 

 

 

 

--

转载地址:http://vlwda.baihongyu.com/

你可能感兴趣的文章
nginx-server-backup策略说明
查看>>
计算机硬件、驱动程序和操作系统
查看>>
mysql 下载及安装方法
查看>>
字符串的比较查找与替换
查看>>
XML 文件解析--含Unicode字符的XML文件
查看>>
单利模式
查看>>
Two Sum
查看>>
Spring MVC绑定 List 对象参数
查看>>
spark 添加第三方依赖
查看>>
配置虚拟目录
查看>>
RHCE 学习笔记(31) - 防火墙 (下)
查看>>
linux 命令
查看>>
【Linux学习记录】Linux主机规划与安装
查看>>
springboot 拦截器
查看>>
Call requires API level 4 (current min is 3):类似异常解决
查看>>
zookeeper学习之zkclient节点增删改查<九>
查看>>
HDP上安装impala
查看>>
第6篇-JAVA面向对象Ⅱ
查看>>
Centos5.8 x86_64下安装DRBD+Heartbeat+NFS
查看>>
8月27日 第五次课作业
查看>>