数据结构--单链表的查找

news2024/12/29 9:18:10

数据结构–单链表的查找

均以带头结点链表为例

目标:

GetElem(Li):按位查找操作。获取表L中第i个位置的元素的值。
LocateElem(L,e):按值查找操作。在表L中查找具有给定关键字值的元素。

按位查找

按位查找,返回第i 个元素(带头结点)

代码实现

typedef struct LNode
{
    ElemType data;
    struct LNode *next;
}LNode, *LinkList;


LNode* GetElem(LinkList L, int i)
{
    if (i < 0)  return NULL;
    LNode* p = L;
    int j = 0;
    while (L != NULL && j < i)
        p = p->next, j++;
    return p;
}

时间复杂度:O(n)

按值查找

代码实现

typedef struct LNode
{
    ElemType data;
    struct LNode *next;
}LNode, *LinkList;


LNode* LocateElem(LinkList L, ElemType e)
{
    LNode* p = L;
    while (p != NULL && p->data != e)
        p = p->next;
    return p;
}

知识点回顾与重要考点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/694903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法题】动态规划基础阶段之斐波那契数列、青蛙跳台阶问题、连续子数组的最大和

动态规划基础阶段 前言一、斐波那契数列1.2、思路1.2、代码实现 二、青蛙跳台阶问题2.2、思路2.2、代码实现 三、连续子数组的最大和3.1、思路3.2、代码实现 总结 前言 动态规划&#xff08;Dynamic Programming&#xff0c;简称 DP&#xff09;是一种解决多阶段决策过程最优化…

Unity编辑器开发——特性(常用特性、自定义特性)

特性在Unity开发中是非常好用的。 常用特性&#xff1a; 下面记录下我常用的C#预置的特性&#xff1a; 一、程序集级别 二、脚本级别 三、脚本成员级别 1.字段 (1)Int/Float (2)string (3)Enum (4)List (5)Range(滑动条&#xff0c;其实也是对Int/Float&#xff09; …

TypeError: transpileDependencies.map is not a function——解决办法——亲测有效

今天在npm run serve项目的时候遇到一个问题&#xff0c;终端提示TypeError: transpileDependencies.map is not a function&#xff0c;项目跑不起来。 网上搜到的解决办法&#xff1a; 网上提供的解决办法基本上是&#xff1a; 1.npm audit fix执行才会报这个错——没用 2.…

深入理解 Golang: Go 程序的编译运行过程

Go program 编译过程 package mainimport "fmt"func main() {fmt.Println("Hello Go") }编译前端 词法分析 将源代码翻译成 Token(最小语义结构) 句法分析 Token 序列经过处理&#xff0c;变成语法树 AST 语义分析 类型检查类型推断函数调用内联逃逸分析…

C语言学习笔记---初始C语言005

C语言程序设计笔记---005 初识C语言三大结构语句函数数组操作符1、初识C语言三个结构2、初识函数3、初识一维数组4、初识C语言操作符4.1、算数操作符例程4.2、赋值操作符例程4.3、关系操作符例程4.4、复合操作符例程4.5、单目操作符例程4.6、条件操作符例程4.7、逻辑操作符例程…

222. 完全二叉树的节点个数

题目描述&#xff1a; 主要思路&#xff1a; 利用二分答案的思想进行求解。 首先遍历到最底下的最左结点&#xff0c;然后可以得到一个答案范围&#xff0c;然后二分求解验证即可。 具体细节见代码。 /*** Definition for a binary tree node.* struct TreeNode {* int v…

工程安全监测无线振弦采集仪在建筑物的应用

工程安全监测无线振弦采集仪在建筑物的应用 工程安全监测无线振弦采集仪是一种先进的监测设备&#xff0c;可以在建筑物、桥梁、隧道、大坝等工程施工或运营中进行振动监测和安全评估。其在建筑物的应用主要是针对建筑物结构的振动和变形进行监测和分析&#xff0c;以确保建筑…

java抽象类中的静态方法

Java的抽象类中可以包含静态方法&#xff0c;即类方法。尽管抽象类不能实例化&#xff0c;但抽象类中的静态方法是可以用抽象类直接调用的。 下面的代码示例定义了一个抽象类AbstractDemo &#xff0c;其中包含一个抽象方法method&#xff0c;一个public静态方法showMessage。…

人工智能系统架构-应用架构

一、架构图 上图架构一个C/S架构 智能终端&#xff08;C&#xff09;包括智能音箱、人脸识别、人脸支付等应用和智能操作系统。 人工智能大脑&#xff08;S&#xff09;构成包括智能云平台、大数据平台&#xff0c;机器学习、深度学习&#xff0c;语音识别模型、图像识别模型和…

CentOS 设置系统字符集,显示为中文

环境&#xff1a; centos 背景&#xff1a; 使用vim打开含有中文的文件&#xff0c;中文显示为乱码。 1、 查看系统当前所用的字符集 locale 2、 安装字符集 查看系统当前安装的所有字符集中有没有 zh_CN.utf8 字符集 locale -a |grep zh_CN.utf8 假如没有&#xff0…

Linux 内存清理

1.查看内存使用情况 free -h 2.内存清理命令 清理PageCache缓存 sudo sync && echo 1 > /proc/sys/vm/drop_caches 清理dentries和inodes缓存 sudo sync && echo 2 > /proc/sys/vm/drop_caches 清理PageCache、dentries和inodes缓存 sudo sync &…

Sentieon | 每周文献-Tumor Sequencing-第三期

肿瘤测序系列文章-1 标题&#xff08;英文&#xff09;&#xff1a;The relationship between genetic characteristics and clinical characteristics and the efficacy of 131 I therapy in children and adolescents with locally advanced or metastatic differentiated th…

栈的简介与实现(Java)

一、简介 栈 (Stack) 只允许在有序的线性数据集合的一端&#xff08;称为栈顶 top&#xff09;进行加入数据&#xff08;push&#xff09;和移除数据&#xff08;pop&#xff09;。因而按照 后进先出 一般作用于深度搜索 假设堆栈中有n个元素。 访问&#xff1a;O&#xff08…

一文学会Python安装和基础语法-全程干货

安装Python程序 官网Python下载地址&#xff1a;Python Releases for Windows | Python.org 安装3.7版本即可&#xff0c;版本升级可能会有较小的改动&#xff0c;下面要学习的都以python3.7为例 下载安装包之后直接双击无脑安装即可 新手经常遇到的问题&#xff1a; 1.符号…

基于VUE框架的旅游平台-计算机毕设 附源码82070

基于VUE框架的旅游平台 摘 要 改革开放以来&#xff0c;我国的旅游业有了非常迅速的发展&#xff0c;但是比较而言&#xff0c;我国国内旅游业发展的广度深度都远远不能适应经济发展和人民生活水平提高的需要。随着市场经济的发展和人民收入水平的进一步提高&#xff0c;人民对…

『Vue组件』全局注册与局部注册及组件命名

一、组件注册的方式 在Vue中组件的注册一般可以分为两种方式&#xff0c;你可以在main.ts或globalComponents.ts等统一管理文件中对公共组件进行注册。也可以在父组件中引入组件并在components属性中对组件进行按需注册&#xff08;OptionsAPI&#xff09;&#xff0c;这样便可…

漏洞复现 飞视美 视频会议系统 Struts2 远程命令执行漏洞

0x01 阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&…

Grafana任意文件读取漏洞(CVE-2021-43798)

Grafana任意文件读取漏洞&#xff08;CVE-2021-43798&#xff09; 一、漏洞描述 Grafana是一个跨平台、开源的数据可视化网络应用程序平台。用户配置连接的数据源之后&#xff0c;Grafana可以在网络浏览器里显示数据图表和警告。 二、漏洞影响范围 影响版本&#xff1a; Gr…

antv-g6—在vue项目中实现网格拓扑流程图自定义绘制

实现效果图 这个是自己写着玩的&#xff0c;利用antv/g6自定义绘制流程图&#xff0c;然后保存到localstorage中&#xff0c;在左侧表格展示&#xff0c;还可以通过表格操作来查看对应的流程图以及删除&#xff1b; 这里特别注意一下&#xff0c;antv/g6版本是1.2.8&#xff0…

ModaHub魔搭社区:向量数据库MIlvus服务端配置(二)

目录 storage 区域 wal 区域 cache 区域 storage 区域 | 参数 | 说明 | 类型 | 默认值 | | ——————————————- | —————————————————————————————— | ——————————————————————————————- | ————…