当前位置:首页 > 经验 >

在单链表中查找一个节点如何操作(查找链表是否存在一个节点)

来源:原点资讯(www.yd166.com)时间:2022-11-04 00:24:09作者:YD166手机阅读>>

单链表的定义

链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。线性表链式存储结构的特点是:用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。因此,为了表示每个数据元素与其直接后继数据元素之间的逻辑关系。除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。这里把存储数据元素信息的域称为数据域,把存储直接后继存储位置的域称为指针域;指针域中存储的信息称为指针或链;这两部分信息组成数据元素ai的存储映像,称为节点(Node)。

具有n个结点(的存储映像)链接成一个链表,即为线性表的链式存储结构。由于此链表的每个结点中只包含一个指针域,故又称线性链表或单链表。如图所示:

在单链表中查找一个节点如何操作,查找链表是否存在一个节点(1)

单链表有头有尾,整个链表的存储必须从头指针开始进行,头指针指示链表中的第一个结点(即第一个数据元素的存储映像,也称为首元结点)的存储位置。尾结点就是最后一个数据元素,没有直接后继,则单链表中最后一个结点的指针为空(NULL)。如图所示:

在单链表中查找一个节点如何操作,查找链表是否存在一个节点(2)

通常单链表在第一个结点前附设一个结点,称为头节点。头节点的数据域可以不存储任何信息,也可以存储如链表长度等附加信息;头节点的指针域存储指向第一个结点的指针。如图所示:

在单链表中查找一个节点如何操作,查找链表是否存在一个节点(3)

单链表的存储结构

单链表可由头指针唯一确定,在C语言中可用“结构指针” 来描述:

typedef struct _LinkedListNode { ElemType data; //数据类型 struct _LinkedListNode* next; //指向直接后继元素的指针 }LinkedListNode, *LinkedList;

  • 该结构体定义单链表中每个结点的存储结构,其中包括:存储结点的数据域data,其类型标识符ElemType可以表示int、char、float等,也可以表示自定义的数据类型;存储后继结点位置的指针域next,其类型为指针类型_LinkedListNode*。
  • 结构体名称LinkedListNode和*LinkedList是等价的。通常习惯用LinkedList定义单链表,强调定义的是单链表的头指针;用LinkedListNode*定义单链表中任意结点的指针变量。
  • 单链表是由表头指针唯一确定,因此单链表可以用头指针的名称命名。若头指针名是L,则简称链表为表L。
  • 注意区分指针变量和结点变量是两个不同的概念。定义LinkedListNode *p和LinkedList p,则p为指向结点的指针变量,表示该结点的地址;而*p为对应的结点变量,表示该结点的名称。
  • 假设p是指向单链表中第i个元素的指针,则结点ai的数据域用,p->data来表示;结点的指针域,用p->next来表示;p->next指向第i 1个元素,即指向的指针。可以用下图表示:

在单链表中查找一个节点如何操作,查找链表是否存在一个节点(4)

首页 123下一页

栏目热文

查找单链表中最大节点(单链表寻找值最大的结点)

查找单链表中最大节点(单链表寻找值最大的结点)

说真的,任何说起嵌入式软件怎么入门啊?需要学些什么东西啊,我差不多一致的回答都是:软件方面C语言和数据结构加上一些简单常...

2022-11-04 00:12:13查看全文 >>

在单链表中查找值为x的节点(单链表指针怎么指向上一节点)

在单链表中查找值为x的节点(单链表指针怎么指向上一节点)

通过编码实现日常关于链表可能会遇到到编程题1 两个链表是各自自增的,要求合拼之后的链表满足单调不递减/** * 两个递...

2022-11-04 00:44:00查看全文 >>

大学教授可以开公司吗(国家允许院士开办公司吗)

大学教授可以开公司吗(国家允许院士开办公司吗)

新加坡南洋理工大学全职教授、物理学领域全球前1%高被引科学家、担任过多场国际重要学术会议的主席、领导的课题组实现了世界上...

2022-11-04 00:26:47查看全文 >>

老谭搞机靠谱吗(现在的搞机视频)

老谭搞机靠谱吗(现在的搞机视频)

“环线是不是降速了,好慢。”“环线现在成了观光线路了迈(吗),感觉速度还不如我骑自行车快……”这几天,不少乘坐轨道交通环...

2022-11-04 00:25:37查看全文 >>

机贩子靠谱吗(手机贩子太可怕了)

机贩子靠谱吗(手机贩子太可怕了)

其实很早的时候数码盖饭就给大家科普了“BS资源机”,他有很多名字:资源机、富士康机、1978机、BS机,这类机器是苹果全...

2022-11-04 00:29:11查看全文 >>

单链表查找结点流程图(在单链表中查找一个节点如何操作)

单链表查找结点流程图(在单链表中查找一个节点如何操作)

单链表单链表的创建分为头插入法和尾插入法两种,两者并无本质上的不同,都是利用指针指向下一个结点元素的方式进行逐个创建,只...

2022-11-04 00:31:59查看全文 >>

单链表找中间的节点(在链表中查找节点)

单链表找中间的节点(在链表中查找节点)

想法:返回单链表的中间节点:采用双指针方法,慢指针走一步,快指针走2步,当快指针走到头,那么慢指针所在的位置就是链表的中...

2022-11-04 00:29:10查看全文 >>

单链表各个节点的关系(单链表的中间节点)

单链表各个节点的关系(单链表的中间节点)

一:相关概念(1)什么是链表官方定义:链表是一种物理存储结构上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接...

2022-11-04 00:27:00查看全文 >>

怎么找单链表节点(如何确认链表节点)

怎么找单链表节点(如何确认链表节点)

福哥答案2020-11-03:1.输入链表头节点,奇数长度返回中点,偶数长度返回上中点 。1.1.快慢指针。1.2.单指...

2022-11-04 00:41:37查看全文 >>

单链表如何判断是不是尾节点(单链表最后一个节点判断条件)

单链表如何判断是不是尾节点(单链表最后一个节点判断条件)

数组与链表是数据结构最基础的两种,其他的诸如hash表、树、队列、栈等都是基于这两种数据结构实现,上面两篇文章介绍了数组...

2022-11-04 00:06:53查看全文 >>

文档排行