当前位置:首页 > 经验 >

单链表查找原理(有序单链表查找方法)

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

单链表的头部添加法

如图所示我们要把一个新元素1添加到链表的头部:

  • 第一步新建一个节点元素1;
  • 第二步将这新元素的next 指针指向 head 的 next 指针指向的元素
  • 第三步将 head 的 next 指针指向新创建的这个元素

单链表的头部添加法与单链表的插入非常相似,不同的是头部添加法可以直接知道我要插入的位置。

二、单链表的插入

单链表查找原理,有序单链表查找方法(5)

单链表的插入

如图所示我们要把一个新元素11插入到10和12之间,需要完成的步骤如下:

  • 第一步先找到要插入的位置,即11的前驱元素10;
  • 第二步新建一个 Node 节点11;
  • 第三步将这个新节点的 next 指针,指向前驱元素10的 next指针指向的元素;
  • 第四步将元素10的 next 指针指向这个新元素;
第三、单链表的查找

在单链表中要定位某个元素,我们只能从头结点开始,逐个比对,直到找到一个和他匹配的元素。

四、单链表的常见面试题

1、找出单链表的倒数第K个元素(仅允许遍历一遍链表)

使用指针追赶的方法。定义两个指针fast和slow,fast先走K-1步,然后fast和slow同时继续走。当fast到链表尾部时,slow指向倒数第K个(k大于零同时 K 要小于等于链表的长度)。

单链表查找原理,有序单链表查找方法(6)

找出单链表的倒数第K个元素

如上图链表长度等于五,当 k=3时,倒数第 K 个元素是13,按照上述规则走到第四步的时候,FAST 已经在尾部了,此时LAST 对应元素是13。

2、找出单链表的中间元素(仅允许遍历一遍链表)

使用指针追赶的方法,fast每次走两步,slow每次走一步;当fast到链表尾部时,slow指向链表的中间元素。

单链表查找原理,有序单链表查找方法(7)

找出单链表的中间元素

3、判断单链表是否有环?

方法一:使用p、q两个指针,p每次向前走一步,q每次向前走两步,若在某个时候p == q,则存在环。

方法二、使用p、q两个指针,p总是向前走,但q每次都从头开始走,对于每个节点,看p走的步数是否和q一样,一样不存在环,不一样就是存在环。

单链表查找原理,有序单链表查找方法(8)

栏目热文

单链表怎么加结点(单循环链表有头节点吗)

单链表怎么加结点(单循环链表有头节点吗)

链表是由节点组成的,节点中包含:数据域和指针域头指针(★):头指针的类型是struct Node *类型,指向链表的第一...

2022-11-04 00:36:18查看全文 >>

单链表查找最大值(单链表按序查找思路)

单链表查找最大值(单链表按序查找思路)

一、序本文继续給大家带来一道和单链表相关的算法题。之前聊到,如何对单链表是否存在环进行检测,今天再来聊聊这个问题的进阶的...

2022-11-03 23:58:26查看全文 >>

单链表的插入结点图解(链表结点交换图解)

单链表的插入结点图解(链表结点交换图解)

单链表的删除和插入操作是线性表中比较重要的一部分,而这些操作又是线性表中的难点,同时也是考试的重点。对于初学者来说,在看...

2022-11-03 23:58:47查看全文 >>

单链表尾指针示意图(链表的节点图解)

单链表尾指针示意图(链表的节点图解)

作者:少年吉来源:微信公众号: 数据科学CLUB出处:https://mp.weixin.qq.com/s?__biz=...

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

单链表查找图示(三链表结构图解)

单链表查找图示(三链表结构图解)

电子计算机的本质是对输入(input)的数据进行处理(processing),对处理的结果形成输出(output)。程序...

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

单链表算法详解(单链表的创建图解)

单链表算法详解(单链表的创建图解)

单链表结点定义以及操作函数声明我们知道在C语言里数组可以存储大量相同数据类型的数据,但是数组有个很明显的缺点就是大小固定...

2022-11-04 00:22:18查看全文 >>

链表表示队列图解(认识链表结构图解)

链表表示队列图解(认识链表结构图解)

表示形式队列的链表形式与单链表类似,只不过多了两个结点来保存首位结点一,关于链栈的结构体表示结构体定义第一种定义方法st...

2022-11-04 00:01:30查看全文 >>

q5l45tfsi变速箱型号(q5l40和45变速箱型号)

q5l45tfsi变速箱型号(q5l40和45变速箱型号)

奥迪Q5L有6款配置,动力上分为高功率版2.0T和低功率版2.0T两种,其中高功率版2.0T有4款车型,售价区间46.6...

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

奥迪q5l变速箱型号(奥迪q5l有没有quattro)

奥迪q5l变速箱型号(奥迪q5l有没有quattro)

全新奥迪Q5L的上市可谓惊艳众人,它获得了令所有竞争对手都望尘莫及的关注度。然而,正所谓树大招风,越是优秀的人,其争议就...

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

q5l最新变速箱程序(q5l为什么换变速箱)

q5l最新变速箱程序(q5l为什么换变速箱)

车辆状况:2018款奥迪Q5L,一年多行驶2.6万公里,无事故、无大修。故障描述:车子行驶时,仪表提示全轮驱动故障。奥迪...

2022-11-03 23:55:49查看全文 >>

文档排行