做网站店铺图片用什么软件株洲网站建设的企业

news/2025/9/27 9:44:37/文章来源:
做网站店铺图片用什么软件,株洲网站建设的企业,用服务器如何做网站,公众号开发神器目录 1.什么是链表#xff1f; 2.链表的分类 #xff08;1#xff09;无头单向非循环链表#xff1a; #xff08;2#xff09;带头双向循环链表#xff1a; 3.单链表的实现 #xff08;1#xff09;单链表的定义 #xff08;2#xff09;动态创建节点 #…目录 1.什么是链表 2.链表的分类 1无头单向非循环链表 2带头双向循环链表 3.单链表的实现 1单链表的定义 2动态创建节点 3单链表打印 4单链表尾插 5单链表头插 6单链表尾删 7单链表头删 8单链表查找 9单链表在pos位置之后插入 (10)单链表在pos位置之前插入 11单链表删除pos位置的节点 12单链表销毁 4.运行结果 5.结语  1.什么是链表 链表是一种 物理存储结构上非连续、非顺序的存储结构数据元素的 逻辑顺序是通过链表中的 指针链 接次序实现的 。 逻辑图如下 可以看出链表有两个变量一个存放数据另一个存放指向下一节点的指针 此外链表还具有以下特征 1链表在逻辑上连续但在物理上不一定连续 2链表的节点在现实中一般都是在堆上开辟出来的所以使用结束后需要释放空间 3从堆上申请的空间是按照一定策略分配的所以物理空间可能连续也可能不连续。 2.链表的分类 链表按单向双向、无头带头、循环非循环可分为多种这里我们介绍最常用的两种——无头单向非循环链表、带头双向循环链表。本篇文章将详细介绍无头单向非循环链表简称单链表的增删查改等的实现。 1无头单向非循环链表 结构简单一般不会单独用来存数据。实际中更多是作为 其他数据结构的子结 构如哈希桶、图的邻接表等等。另外这种结构在 笔试面试中出现很多。 2带头双向循环链表 结构最复杂一般用在单独存储数据。实际中使用的链表数据结构都是带头双向循环链表。另外这个结构虽然结构复杂但是使用代码实现以后会发现结构会带来很多优势实现反而简单了。 3.单链表的实现 1单链表的定义 typedef int SLTDateType; typedef struct SListNode {SLTDateType data;//存放数据struct SListNode* next;//存放下一个节点的指针 }SListNode; 结构体定义两个变量一个是SLDataType类型的数据另一个时结构体的指针用来存放下一节点指针 2动态创建节点 //申请新的节点返回指向节点的指针 SListNode* BuySListNode(SLTDateType x) {SListNode* buynode (SListNode*)malloc(sizeof(SListNode));buynode-data x;buynode-next NULL;return buynode; } 3单链表打印 // 单链表打印 void SListPrint(SListNode* plist) {//assert(plist);//没有节点指针为空断言为空也可打印空指针所以不需要断言SListNode* psl plist;//用一个临时变量接收如果不喜欢也可以不用while (psl)//利用while循环遍历单链表{printf(%d-, psl-data);//打印单链表指向的数据psl psl-next;//继续循环}printf(%d-NULL\n);//最后一个不要漏了 }4单链表尾插 // 单链表尾插 void SListPushBack(SListNode** pplist, SLTDateType x) {assert(pplist);//断言二级指针SListNode* buy BuySListNode(x);assert(buy);//判断节点是否开辟成功SListNode* psl *pplist;//创建一个新的变量if (psl NULL)//如果是一个节点都没有的情况{*pplist buy;//需要将头指针改变原本头指针是NULL所以需要节点指针的指针return;}while (psl-next)//如果已经有节点的情况{psl psl-next;//通过next遍历链表找到最后的节点}psl-next buy;//将最后节点的next改成buy节点的指针所以需要节点的指针即可不需要二级指针}pplist是指向链表第一个节点指针的指针是二级指针所以一定不为空要用assert断言 5单链表头插 // 单链表的头插 void SListPushFront(SListNode** pplist, SLTDateType x) {assert(pplist);SListNode* buy BuySListNode(x);assert(buy);//判断节点是否开辟成功SListNode* psl *pplist;if (*pplist NULL)//如果一个节点都没有的情况{*pplist buy;//需要将头指针改变原本头指针是NULL所以需要节点指针的指针return;}//有节点的情况buy-next psl;//需要通过next连接新节点*pplist buy;//通过节点的指针的指针改变节点的指针 }要注意有两种情况一直是没有一个节点的情况即*pplist NULL另一种是有节点的情况 传二级指针的作用就是为了改变指针plist所以需要指针的指针pplist 6单链表尾删 // 单链表的尾删 void SListPopBack(SListNode** pplist) {assert(pplist);assert(*pplist);//删除节点要判断有没有节点SListNode* psl *pplist;if (psl-next NULL)//只有一个节点时{free(psl);//释放最后一个节点的空间*pplist NULL;//尾指针置空return;}while (psl-next-next)//多个节点时找到倒数第二个节点{psl psl-next;}free(psl-next);psl-next NULL;//尾指针置空 } 单链表尾删同样要注意两种情况使用free释放指针指向的空间 7单链表头删 // 单链表头删 void SListPopFront(SListNode** pplist) {assert(pplist);assert(*pplist);//删除节点要判断有没有节点SListNode* psl *pplist;if (psl-next NULL)//只有一个节点时{free(psl);*pplist NULL;return;}//多个节点时*pplist psl-next;//将第二个节点的指针给头指针free(psl);//释放第一个节点的空间 }8单链表查找 // 单链表查找 SListNode* SListFind(SListNode* plist, SLTDateType x) {assert(plist);//查找节点要判断有没有节点SListNode* psl plist;while (psl){if (psl-data x){return psl;//找到了返回psl}psl psl-next;}return NULL;//没找到返回空指针 }9单链表在pos位置之后插入 // 单链表在pos位置之后插入xvoid SListInsertAfter(SListNode* pos, SLTDateType x) {assert(pos);SListNode* buy BuySListNode(x);assert(buy);//判断节点是否开辟成功//if (pos-next NULL)//{// pos-next buy;//将最后节点的next改成buy节点的指针 // return;//}buy-next pos-next;//只有一个节点和多个节点一样pos-next buy; } 思考分析这两行代码可不可以调换一下顺序呢 buy-next pos-next;//只有一个节点和多个节点一样 pos-next buy; 答案是不能我们看到如果交换顺序先将buy赋值给pos-next那么pos-next的值将会被改变而我们需要在buy-next中保存原来的pos-next所以不能调换顺序 如果你想要换也可以通过创建一个临时变量来存储pos-next的方式实现.例如 SListNode* cur pos-next; pos-next buy; buy-next cur; (10)单链表在pos位置之前插入 // 在pos的前面插入 void SLTInsert(SListNode** pphead, SListNode* pos, SLTDateType x) {//assert(pphead);assert(pos);SListNode* buy BuySListNode(x);assert(buy);//判断节点是否开辟成功SListNode* psl *pphead;if (psl-next NULL)//只有一个节点{buy-next pos;*pphead buy;return;}while (psl-next ! pos)//多个节点{psl psl-next;}buy-next pos;psl-next buy; }11单链表删除pos位置的节点 // 删除pos位置 void SLTErase(SListNode** pphead, SListNode* pos) {assert(pos);SListNode* psl *pphead;if (psl-next NULL)//只有一个节点类似于头删{free(pos);pos NULL;*pphead NULL;return;}while (psl-next ! pos)//多个节点{psl psl-next;}//此时psl-next pos;psl-next pos-next;将pos位置指向的下一个节点指针赋给psl-nextfree(pos);pos NULL;}删除pos位置也要注意有两种情况 12单链表销毁 void SLTDestroy(SListNode** pphead) {assert(pphead);SListNode* psl *pphead;SListNode* psll *pphead;while (psl ! NULL){free(psll);psl psl-next;psll psl;}*pphead NULL; } 4.运行结果 5.结语  以上就是今天学习的内容了单链表的实现关键在于理解它的逻辑结构包括两个变量一个是指向数据另一个则指向下一节点的指针此外单链表实现还涉及了二级指针的内容以及动态内存函数的内容涉及的代码知识更为广泛但是只要抓住了关键点就会发现每个函数的中心思想都是不变的好了以上就是今天学习的内容啦有什么问题欢迎大家在评论区指出或者私信我哦~

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

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

相关文章

【GitHub每日速递 250925】 一套代码跑遍全平台!Flutter 让你的应用开发提速 10 倍

原文:https://mp.weixin.qq.com/s/diCHi4TGuroj4IuJL1j2zA Mac用户福音!Ice菜单管理神器,功能超多超强大! Ice 是一个功能强大的菜单栏管理工具的 macOS 应用。简单讲,它能帮你自动整理和隐藏菜单栏图标,让顶部状…

网站建设报价模板四川住房和建设厅网站

技术背景 我们在做执法记录仪或指挥系统的时候,会遇到这样的情况,大多场景下,我们是不需要把设备端的数据,实时传给国标平台端的,默认只需要本地录像留底,如果指挥中心需要查看前端设备实时数据的时候&…

会展免费网站模板公司域名不变网站做变动

本文收录于《AI绘画从入门到精通》专栏,订阅后可阅读专栏内所有文章,专栏总目录:点这里。 大家好,我是水滴~~ 本文主要介绍在 Stable Diffusion WebUI 中使用 ControlNet 的 depth_zoe 预处理器时,出现的 RuntimeError: Error(s) in loading state_dict for ZoeDepth 异常…

未来做啥网站能致富推广计划ppt

Re介绍一下CentOS下MySQL数据库的安装与配置方法MySQL数据库配置的具体步骤:1、编辑MySQL的配置文件,使用vi /etc/my.cnf[rootsample ~]# vi /etc/my.cnf  ← 编辑MySQL的配置文件[mysqld]datadir/var/lib/mysqlsocket/var/lib/mysql/mysql.sock# Defau…

本网站服务器多个wordpress 合并

企智汇项目管理软系统是一款支持私有化部署的项目管理系统,适合大型、中型、小型企业的不同需求。企智汇软件是一个专业的项目全周期管理平台,拥有10年的项目管理经验,以项目为中心,通过计划控制进度,预算控制成本&…

上海芯片上市公司市值大揭秘!谁是“芯”界顶流?

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087上海芯片上市公司市值大揭秘!谁是“芯”界顶流?上海作为中国集成…

如何设计一个高端网站简洁大方大气wap啥梗

Primary介绍 Primary 是 Spring 框架中的一个注解,用于在多个相同类型的 bean 中指定一个默认的 bean。当 Spring 容器在自动装配时遇到类型冲突,即存在多个相同类型的 bean 时,如果没有使用 Qualifier 或其他方式指定具体的 bean&#xff0…

百度云分享tp响应式网站开发国家标准下载网免费

首先介绍计算机的二进制码 二进制常用的有原码,反码和补码,他们都是由最左边的一个符号位和右边的数值位构成。在计算机中为了更低成本的计算,数据都是用补码来存储和运算的。 原码 最高位表示符号位(0代表正数,1代…

建设工程扣分查询网站wordpress 倒计时

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

湖南太平洋建设集团网站猴王水果竞猜网站建设

关键字static的作用是什么? 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2、 在模块内(但在函数体外&…

网站成本费用网络营销效果评估的作用

1.工具安装 我们使用 ffmpeg 软件来完成转换工作1.1 安装命令 sudo add-apt-repository ppa:jonathonf/ffmpeg-3sudo apt-get updatesudo apt-get install ffmpeg1.2 转换命令 (1)直接转换命令: ffmpeg -i out.mp4 out.gif(2) 带参数命令&…

如何查看网站备案信息吗陕西建站公司

家里断网了,女票说要看电影。电影之前早已下好,奈何播放器不给力,播放不了rmvb格式,怎么办? 办法很简单,使用浏览器来播放!现在的浏览器都内置了视频的解码器,直接将视频拖进浏览器…

做美图 网站网页设计视频

第一步:以管理员身份进行登陆: sqlplus / as sysdba 第二步:打开可插拔数据库 alter pluggable database pdborcl open; 第二步:切换至可插拔数据库 alter session set containerpdborcl;

贵州交通建设集团网站合肥蜀山网站开发

一、提出问题 对于生活生产中的表格数据,至多也就上百维,而且表格数据的行与行之间没有序列和位置上的关系,所以用传统的机器学习算法就可轻松的解决这些问题。但是到了图片数据,传统机器学习就非常吃力了,一个普通的…

做网站要考虑什么网站建设方案及报

作为一名偏后台程序测试的测试工程师,经常会接触运维相关工作,与服务器打交道。 一般公司会搭建内网环境和外网环境,项目开发、SIT测试主要是在内网环境做,然后等到UTA、预投产阶段在外网环境。 如果公司业务量大,多个…

兰州做家教去哪个网站比较好网站内页产品做跳转

面对着围着哥本哈根的、生满了绿草的城堡,是一幢高大的红房子。它的窗子很多,窗子上种着许多凤仙花和青蒿一类的植物。房子内部是一副穷相;里边住的也全是一些穷苦的老人。这就是“瓦尔都养老院”。  看吧!一位老倚着窗槛站着&a…

德阳网站建设优化做网站公司排行榜

QSqlQuery 是 Qt 框架中的一个类,用于执行 SQL 查询和操作数据库。 该类提供了执行 SQL 语句、获取查询结果、访问和修改数据等功能。它可以与各种支持的数据库进行交互,如 MySQL、SQLite、Oracle 等。 使用 QSqlQuery 类,你可以执行以下操…

中科微卫星定位芯片代理商,北斗双频定位导航模组ATGM332D-F7N

ATGM332D-F7N北斗定位系列模组是12.216mm尺寸的高性能北斗双频定位导航模组。该系列模组产品基于中科微新一代SOC北斗双频芯片AT9850B,支持北斗二号和北斗三号的B1I、B1C、和B2a频点信号。 ATGM332D-F7N北斗定位系列模…

爱站之家瑞安做网站建设哪家好

写在前面 在现代前端开发中,React 是一个非常流行的 JavaScript 库,用于构建用户界面。它引入了一个名为“虚拟 DOM”(Virtual DOM)的概念,这个概念对于 React 的高效性能和易用性至关重要。本文将深入探讨 React Vir…