博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构栈的链表实现
阅读量:7113 次
发布时间:2019-06-28

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

/*	1.节点初始化	2.创建栈	3.检测栈是否为空	4.进栈	5.出栈	6.返回栈顶元素 	7.打印栈 */#include 
#include
typedef struct stack{ int element; struct stack *next;}*Stack;Stack createStack(void){ Stack S=malloc(sizeof(struct stack)); if(S==NULL) { printf("Out of space\n"); return NULL; } else { S->next=NULL; return S; }}int isEmpty(Stack S){ return (S->next==NULL);}void push(Stack S,int element){ Stack Sptr=malloc(sizeof(struct stack)); if(Sptr==NULL) { printf("Out of space\n"); } else { Sptr->element=element; Sptr->next=S->next; S->next=Sptr; }}void pop(Stack S){ Stack Stmp=NULL; if(isEmpty(S)) { printf("Stack empty\n"); } else { Stmp=S->next; S->next=S->next->next; free(Stmp); }}int top(Stack S){ if(isEmpty(S)) { printf("Stack empty\n"); } else { return (S->next->element); } }void printStack(Stack S) { Stack Sptr=S->next; while(Sptr!=NULL) { printf("-------------\n"); printf("| %d |\n",Sptr->element); printf("-------------\n"); Sptr=Sptr->next; }}int main(void){ int i=1; Stack S=createStack(); for(i=1;i<7;i++) { push(S,i); //createStack(); } printStack(S); }

运行结果:

 

转载于:https://www.cnblogs.com/achao123456/p/7119513.html

你可能感兴趣的文章
BZOJ 2716: [Violet 3]天使玩偶 [CDQ分治]
查看>>
Python如何输出包含在对象中的中文字符?
查看>>
.NET Core项目从xproj+project.json向csproj迁移简介
查看>>
Tomcat指定特定JDK版本
查看>>
分离你的spring配置文件,让结构更清晰
查看>>
bzoj 4868: [Shoi2017]期末考试
查看>>
assetBundle打包脚本与LUA
查看>>
Spring的Hello World工程
查看>>
Java 8 新特性
查看>>
WPF 关于圆角的制作
查看>>
MySql(十四):MySql架构设计——可扩展性设计之数据切分
查看>>
Ocelot简易教程(二)之快速开始1
查看>>
思绪:常想一二
查看>>
Flash调用XML文件的方法
查看>>
JSF---->其他标签
查看>>
Add Console Application Program to the MFC Program
查看>>
Oracle中可被并行化执行的SQL操作
查看>>
新的Layout布局系统
查看>>
java链表
查看>>
VC获取操作系统版本和名称
查看>>