
数据结构-栈
链栈图
发布日期:2021-05-04 03:07:38
浏览次数:8
分类:技术文章
本文共 722 字,大约阅读时间需要 2 分钟。
1.栈的定义
栈只能通过访问它的一端来实现数据存储和检索的一种线性数据结构,栈又称为后进先出的线性表,在栈中进行插入和删除的一端称为栈顶,另一端称为栈底,不含数据元素的栈称为空栈。

2.栈的基本运算
栈的链式存储:用链表作为存储结构的栈称为链栈。由于栈中元素的插入和删除仅在栈顶一端进行,因此不必另外设置头指针,链表的头指针就是栈顶指针。
①入栈
typedef struct Node{ Element data; Node *next;}Node,*Stack;//s栈顶指针//e入栈的元素void Push(Stack s,Element e){ Stack newNode = (Stack)malloc(sizeof(Stack)); newNode->data = e; newNode->next = s->next; s->next = newNode;}
②出栈
//s为栈顶指针Stack Pop(Stack s){ if(s->next) { Stack p = s->next; s->next = p->next; return p; }}
③判栈空
bool isEmpty(Stack s){ if(s->next) return false; else return true;}
④读栈顶元素
Element Top(Stack s){ if(s->next) return s->data; else return 0;}
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年03月28日 21时14分12秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
手把手教你用Python的NumPy包处理数据
2019-03-01
TIOBE 12月编程语言排行榜:Python有望第四次成为年度语言
2019-03-01
Python循环语句代码逐行详解:while、for、break和continue
2019-03-01
如何让图表更有说服力?6大准则和1个经典案例给你讲明白
2019-03-01
吐血整理:43种机器学习开源数据集(附地址/调用方法)
2019-03-01
linux sort与awk
2019-03-03
详细分析下用于交互的Scanner
2019-03-03
Java方法板块学习经验分享
2019-03-03
Kotlin学习之变量和函数的讲解
2019-03-03
Java--泛型(通配符、泛型边界、泛型与继承)
2019-03-03
Mybatis--标准日志工厂
2019-03-03
Spring--IoC理论推导&IoC本质
2019-03-03
斐波纳契数
2019-03-03
软件项目管理(一)复习训练2
2019-03-03
线程(下)--线程通信&&消费者问题
2019-03-03
Maven将本地jar打到本地仓库中
2019-03-03
SpringBoot集成Eureka
2019-03-03
Java 十大排序算法
2019-03-03
SQL触发器
2019-03-03