加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

【数据结构】链式存储——定义

发布时间:2020-12-15 06:08:21 所属栏目:安全 来源:网络整理
导读:前言 接着上篇博文的介绍,本篇文章我们介绍链式存储下,数据逻辑结构的定义,本文仍然会以线性表为例。 实例 1. 线性表 typedef struct node{ DataType data; //数据域 struct node * next; //指针域 }Node,*LinkList; 2. 栈 typedef struct node{ DataType

前言

  接着上篇博文的介绍,本篇文章我们介绍链式存储下,数据逻辑结构的定义,本文仍然会以线性表为例。

实例

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. 顺序存储的结构包括定义数组、数据结构的特殊点,链式存储的结构包括数据域和指针域。


小结

  学习中我们经常会遇到相似的内容,这个时候对比的重要性就体现出来了。对比总结作为一种重要的学习方法,是我们每个人都需要学习并加以运用的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读