【数据结构】链式存储——定义
来源:互联网 发布:smali文件转java 编辑:程序博客网 时间:2024/06/05 19:07
前言
接着上篇博文的介绍,本篇文章我们介绍链式存储下,数据逻辑结构的定义,本文仍然会以线性表为例。
实例
1. 线性表
typedef struct node{ DataType data; //数据域 struct node * next; //指针域}Node,*LinkList;
2. 栈
typedef struct node{ DataType data; //数据域 struct node * next; //指针域}LkStk;
3. 队列
typedef struct LinkQueueNode{ DataType data; struct LinkQueueNode * next; }LkQueNode;typedef struct LkQueue{ LkQueNode *front,*rear;}LkQue;LkQue LQ;
异同点
(一)同:
通过上面实例的代码,我们可以发现,线性表链式存储的定义可分为两部分(代码如下):
(1)结构(数据域、指针域)
(2)数据结构的类型名
typedef struct ...{ DataType data; //数据域 struct ... * next; //指针域}...;
(二)异:
链式存储和顺序存储有很多类似的地方,这里就不再细说,请参见【数据结构】顺序存储——定义。 在这里,小编想要强调的是,为什么单链表和链栈的结构是一部分,二链队列的结构是两部分?
我们对比一下结构的定义:单链表“typedef struct node”,链栈“typedef struct node”,链队列“typedef struct LinkQueueNode”“typedef struct LkQueue”,首先我们可以看到单链表和链栈的链式存储定义只涉及到结点,而链队列在此基础定义了队列的结构,这样的差异,我们可以通过他们的示意图看出:单链表和链栈由结点构成,而链队列有结点和队列首指针、队列尾指针构成,结点结构只包括数据域和指针域,不包括队列首指针和队列尾指针,因此,结构定义有所不同。
顺序存储和链式存储的异同点(代码部分)
(一)同
通过代码我们可以看出,它们的公共部分是定义结构,指明数据结构的类型。
(二)异
1. 顺序存储需要预先定义长度,而链式存储并不需要。
2. 顺序存储的结构包括定义数组、数据结构的特殊点,链式存储的结构包括数据域和指针域。
小结
学习中我们经常会遇到相似的内容,这个时候对比的重要性就体现出来了。对比总结作为一种重要的学习方法,是我们每个人都需要学习并加以运用的。
❀ 接下来的几篇博文,小编会和大家一起走进数据结构-线性结构的算法。
1.【数据结构】线性结构——初始化
2.【数据结构】线性结构——判空
3.【数据结构】线性结构——插入
4.【数据结构】线性结构——删除
(未完待续…)
- 【数据结构】链式存储——定义
- 数据结构—链表-链式存储
- 数据结构——串的链式存储
- 数据结构——栈之链式存储
- 数据结构——队列之链式存储
- 数据结构——二叉树的链式存储操作集合
- 数据结构——队列的链式存储结构以及实现
- 数据结构——线性表的链式存储
- 数据结构——线性表(链式存储)
- 【大话数据结构】——-线性表之链式存储
- 数据结构——线性表之链式存储
- 数据结构之线性表——栈的链式存储
- 数据结构之线性表——队列的链式存储
- 数据结构——二叉树的链式存储
- 数据结构单链队列——链式存储实现
- 数据结构六—队列的链式存储结构
- 数据结构—队列的顺序和链式存储
- 数据结构之线性表——链表的链式存储(链式描述)
- java+tomcat8+Nexu3+git自动部署环境集成
- 概率论和数理统计-名词解释
- 使用CMake来进行Android NDK开发
- 编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
- python字符串格式化(format)
- 【数据结构】链式存储——定义
- UML常用图的几种关系的总结
- 正则表达式30分钟入门教程
- python 接口自动化测试(四)
- CentOS 6.5中yum安装报error: rpmdb: damaged header #844 retrieved -- skipping
- MediaPlayer: Couldn't open /storage/emulated/0/kgmusic/download/独家记忆.mp3: java.io.FileNotFoundExcept
- Java线程池ThreadPoolExecutor源码解析
- 如何将Angular localhost:4200 改为IP
- Mac下配置android环境变量