数据结构中单向链表(无头)的学习

一.数据结构

1.定义

     一组用来保存一种或者多种特定关系的数据的集合(组织和存储数据)
     
     程序的设计:将现实中大量而复杂的问题以特定的数据类型和特定的存储结构存储在内存中,
     并在此基础上实现某个特定的功能的操作;

    程序 = 数据结构 + 算法
    

     
  2.数据与数据之间的关系 
  
    数据的逻辑结构:数据元素与元素之间的关系
           集合:关系平等
           线性结构:元素之间一对一的关系(表(数组,链表),队列。栈。。。)
           树型结构:元素之间一对多的关系(二叉树)
           图形结构:元素之间多对多的关系(网状结构)
        
    数据的物理结构:数据的逻辑结构在计算机内存中的存储形式
    
            顺序存储:采用一段连续的内存空间保存元素
            
                    优点:空间连续,访问方便
                    缺点:插入删除需要移动大量的元素
                          需要预分配内存空间
                          容易造成存储空间碎片
            
            链式存储:采用一组非连续的内存空间保存元素
                    
                    缺点:访问元素效率低
                    
                    优点:插入和删除数据方便
                          不需要预分配内存
            
            索引存储:通过关键字构建索引表,通过索引表来来找到数据的存储位置
            散列存储(哈希存储):将数据元素的存储位置与关键码之间建立确定对
                     应关系从而实现查找的存储方式

二.链表

1.单向无头链表(第一个链表的数据有效)

无头链表:第一个链表的数据无效

操作:创建链表,头插/尾插,查找,改动,销毁

将节点和链表的标签“句柄”设置为两个结构体方便使用:

创建链表首先要创建”句柄“ -- list标签,创建空链表
通过”句柄”去头插/尾插 -- 添加链表
通过“句柄”去查找链表
通过“句柄”和查找连链表去修改链表
销毁链表(先指向下一个链表再销毁)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Games101-光栅化(三角形 )

视锥 fov:可视角 aspect ratio:宽高比 MVP 屏幕:抽象的认为是一个二维数组,数组中的每一个元素是一个像素 屏幕是一个典型的光栅成像设备 光栅化:把东西画在屏幕上的过程 像素:理解为不变的最小单位,RGB的…

SSA优化最近邻分类预测(matlab代码)

SSA-最近邻分类预测matlab代码 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出,主要是受麻雀的觅食行为和反捕食行为的启发。 数据为Excel分类数据集数据。 数据集划分为训练集、验证集、测试集,比例为8&#…

Android14之HIDL报错:Invalid sparse file format at header magic(一百九十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

利用自定义 URI Scheme 在 Android 应用中实现安全加密解密功能

在现代移动应用开发中,安全性和用户体验是至关重要的考虑因素。在 Android 平台上,开发人员可以利用自定义 URI Scheme 和 JavaScript 加密解密技术来实现更安全的数据传输和处理。本文将介绍如何在 Android 应用中注册自定义 URI Scheme,并结…

苍穹外卖-day06:HttpClient、微信小程序开发、微信登录(业务流程)、导入商品浏览功能代码(业务逻辑)

苍穹外卖-day06 课程内容 HttpClient微信小程序开发微信登录导入商品浏览功能代码 功能实现:微信登录、商品浏览 微信登录效果图: 商品浏览效果图: 1. HttpClient 1.1 介绍 HttpClient 是Apache Jakarta Common 下的子项目,…

Redis中的String编码转换底层原理及6.0新特性

String编码转换底层原理 String对象为什么把大于39字节或者44字节的字符串编码为raw,小于的时候编码为embstr? 在Redis3.2以前的版本中,SDS作为字符串类型中存储字符串内容的结构,源码如下: 3.2版本SDS结构 struct sdshdr {// 记录buf数…

linux 安装常用软件

文件传输工具 sudo yum install –y lrzsz vim编辑器 sudo yum install -y vimDNS 查询 sudo yum install bind-utils用法可以参考文章 《掌握 DNS 查询技巧,dig 命令基本用法》 net-tools包 yum install net-tools -y简单用法: # 查看端口占用情况…

[python3] 设置多进程名称并且在ps命令中可见

Centos7 系统 setproctitle 是一个 Python 模块,用于设置进程标题(process title)。进程标题是在系统中用来标识进程的名字,通常会显示在系统级的进程管理工具(如 ps 命令)中。通过设置进程标题&#xff0c…

代码随想录|Day23|回溯03|39.组合总和、40.组合总和II、131.分割回文串

39.组合总和 本题和 216.组合总和III 类似,但有几个区别: 没有元素个数限制:树的深度并不固定,因此递归终止条件有所变化每个元素可以使用多次:下层递归的起始位置和上层相同(startIndex不需要改动&#xf…

接口测试常见接口类型?

常见接口类型 1.根据协议区分 1、webService接口:是走soap协议通过http传输请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有Soapul、jmeter、loadrunner等; 2、http接口:是走http协议,…

Python爬虫在Django项目中的数据处理与展示实例

当谈到Python爬虫技术与Django项目结合时,我们面临着一个引人入胜又具有挑战性的任务——如何利用爬虫技术从网络上抓取数据,并将这些数据进行有效地处理和展示。在本文中,我将为您介绍Python爬虫技术在Django项目中的数据抓取与处理流程。 在…

Java-JVM 虚拟机原理调优实战

一、基础 栈帧(Stack Frame)栈空间的 基本元素,用于 方法的调用和方法的执行的数据结构 堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。在堆中产生了一个数组或对象后&#xff0c…

Linux 管道

目录 一、认识管道 二、匿名管道 pipe函数 用法: pipefd: 匿名管道通信: 三、命名管道 概念: 创建: 特性: 用途: 四、命名管道和匿名管道的区别 命名: 持久性:…

汽车电子拓扑架构的演进过程

汽车电子拓扑架构的演进过程 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师 (Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠…

系统渐渐沦为“屎山”,这就是真相!

分享是最有效的学习方式。 博客:https://blog.ktdaddy.com/ 背景 小猫维护现有的系统也有一段时间了,踩坑也不少,事故不少。感兴趣的小伙伴可以了解一下,往期的小猫踩坑记合集。 这天,小猫找到了商城系统的第一任开发…

Springboot-软件授权License

无意中看到了一个简单方便的授权方式,只需几步就可集成到boot项目中。 先上地址:smart-license: 保护个人与企业的软件作品权益,降低盗版造成的损失。PS:因个人精力有限,不再提供该项目的咨询答疑服务。 Smart-licen…

Smart Light Random Memory Sprays Retinex 传统图像增强 SLRMSR

文章目录 前言1、Smart Light Random Memory Sprays Retinex概况2、Smart Light Random Memory Sprays Retinex的实现2.1、SLRMSR算法的伪代码2.2、初始化记忆喷雾(CreateInitialMemorySpray)2.3、更新记忆喷雾 (UpdateMemorySpray)2.4、计算颜色校正因子…

二十几岁的我们:在旷野中找寻自我

二十几岁,这是一个充满变数、充满机遇和挑战的年纪。它如同一片辽阔的旷野,每个人都在其中寻找自己的方向,摸索着自己的道路。这是一个既令人兴奋又令人迷茫的年纪,我们穿着不同的鞋子,注定要走不同的路。 在这个年纪里…

onnx 格式模型可视化工具

onnx 格式模型可视化工具 0. 引言1. 可视化工具2. 安装 Netron: Viewer for ONNX models 0. 引言 ONNX 是一种开放格式,用于表示机器学习模型。ONNX 定义了一组通用运算符(机器学习和深度学习模型的构建基块)和通用文件格式,使 A…

Unity引擎是否被过度吹嘘?

提到Unity,人们基本上持有以下几种观点: A. 很多人十分欣赏Unity在跨平台兼容性和大规模开放世界场景方面的出色表现。其渲染、环境特效以及AI系统为设计多样化沙盒游戏提供了强大支持。这使得Unity非常适合开发具有多种游戏玩法和互动系统的作品。 B. 一…