娄底网站设计做网站优化

news/2025/9/23 7:11:06/文章来源:
娄底网站设计,做网站优化,nginx wordpress动静分离,杭州服装网站建设文章目录 前言 一、单链表是什么#xff1f;二、单链表的实现总结 顺序表的缺点 1.中间/头部的插入删除#xff0c;时间复杂度为O (N) 2.realloc 扩容#xff08;特别是异地扩#xff0c;需要申请新空间#xff0c;拷贝数据#xff0c;释放旧空间#xff09;会有不小的… 文章目录 前言 一、单链表是什么二、单链表的实现总结 顺序表的缺点 1.中间/头部的插入删除时间复杂度为O (N) 2.realloc 扩容特别是异地扩需要申请新空间拷贝数据释放旧空间会有不小的消耗。 3.增容一般是呈2倍的增长势必会有一定的空间浪费。 例如当前容量为100满了以后增容到200我们再继续插入了5个数据后面没有数据插入了那么就浪费了95个数据空间。 针对顺序表的缺点设计了链表 一、单链表是什么 链表是数据结构之一其中的数据呈线性排列。在链表中数据的添加和删除都较为方便就是访问比较耗费时间。 1.2结构 typedef int SLTDateType; typedef struct SListNode {SLTDateType data;struct SListNode* next;}SLTNode; 这就是单链表的经典结构 其实一个链表还分逻辑模型和物理模型 逻辑模型 物理模型 二.单链表的实现接口函数的实现 2.1打印 打印只有一个细节就是cur cur-nextcur是一个结构体指针可以通过-去访问成员他的意思就是往下去遍历。 void SListPrint(SLTNode* phead) {SLTNode* cur phead;while (cur ! NULL){printf(%d-, cur-data);cur cur-next;} } 2.2检查扩容 和之前的顺序表的思路是一样的单链表也是需要检查扩容的如果满了就要扩如果少了就要增。 SLTNode* BuyListNode(SLTDateType x) {SLTNode* newnode (SLTNode*)malloc(sizeof(SLTNode));newnode-data x;newnode-next NULL;if (newnode NULL){printf(malloc fail\n);exit(-1);}return newnode; } 2.3尾插 利用两个指针先检查扩容如果是空的就增容然后先找到尾然后在把新开辟的内存链接起来就可以了。 void SListPushBack(SLTNode** pphead, SLTDateType x) {SLTNode* newnode BuyListNode(x);if (*pphead NULL){*pphead newnode;}else{//找到尾节点SLTNode* tail *pphead;while (tail-next ! NULL){tail tail-next;}tail-next newnode;} } 2.4头插 注意要不要传2级指针只有判断是否使用phead void SListPushFront(SLTNode** pphead, SLTDateType x) {SLTNode* newnode BuyListNode(x);newnode-next *pphead;*pphead newnode;} 2.5尾删 尾删有两个方法两个指针和单指针 两个指针法 将最后一组元素释放在将最后一个元素置空但是一个节点要单独考虑 void SListPopBack(SLTNode** pphead) {assert(*pphead ! NULL);if ((*pphead)-next NULL){free(*pphead);*pphead NULL;}else{SLTNode* prev NULL;SLTNode* tail *pphead;while (tail-next ! NULL){prev tail;tail tail-next;}free(tail);tail NULL;prev-next NULL;} } 单指针法 void SListPopBack(SLTNode** pphead) {SLTNode*tail*pphead; assert(*pphead ! NULL);if ((*pphead)-next NULL){free(*pphead);*pphead NULL;}while(tail-next-next!NULL){tailtail-next; }free(tail-next);tail-nextNULL; } 2.6头删 保存下一节点next删除头节点将头节点赋值为next。 void SListPopFront(SLTNode** pphead) {assert(*pphead ! NULL);SLTNode* next (*pphead)-next;free(*pphead);*pphead next; }2.7查找 SLTNode* SListFind(SLTNode* phead, SLTDateType x) {SLTNode* cur phead;while (cur ! NULL){if (cur-data x){return cur;}else{cur cur-next;}}return NULL; } 2.8在pos位置之前去插入一个节点 先要找到他的位置找到pos之前的位置 void SListInsert(SLTNode** pphead, SLTNode* pos, SLTDateType x) {SLTNode* newnode BuyListNode(x);if (*pphead pos){newnode-next *pphead;*pphead newnode;}else//找到pos之前的位置{SLTNode* posprev *pphead;while (posprev-next ! pos){posprev posprev-next;}posprev-next newnode;newnode-next pos;} }2.8在pos位置之后去插入一个节点 void SListInsertAfter(SListNode* pos, SListData x) {assert(pos);SListNode* newnode BuyListNode(x);SListNode* next pos-next;pos-next newnode;pos-next-next next; }2.9在pos位置去删去一个结点头要特殊处理 void SListInsert(SListNode** pphead, SListNode* pos, SListData x) {assert(pphead);assert(pos);if (pos *pphead) {*ppheadpos-next;free(pos);}else{SListNode* pre *pphead;//找到前一个while (pre-next ! pos) {pre pre-next;}pre-next pos-next;//前一个指向后一个free(pos);} } 3.0销毁还原 void SListDestory(SLTNode**pphead) {SLTNode*cur*pphead;while(cur!NULL) {SLTNode*nextcur-next;free(cur);curnext; }*ppheadNULL; } 总结 单链表的缺点就是不可以随机访问而顺序表却可以做到说明单链表也有缺陷那什么结构可以让我们更好只有继续的学习才会知道。

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

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

相关文章

如何在门户网站做推广方案网站速度提升

线程:数组形成的栈,方法的调用,出栈入栈 1、线程和进程的区别 资源占用:进程是拥有资源的基本单位,不同进程之间不可以共享资源。线程不占有资源,但一个进程内的所有线程可以共享进程内的资源。并发性&am…

两学一做网站无法做题展示型网站有哪些

MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈。这里提供一些关于Mysql 数据库查询优化的24条优化建议,仅供参考。Mysql 查询优化1、使用慢查询日志,找出执行慢的查询。2、使用 EXPLAIN 来决定查询功能是否合…

哈尔滨大型网站建设电话郑州发布

一、初识Docker 1. 为什么需要 Docker 大型项目组件较多,运行环境也较为复杂,部署时会遇到一些问题: 依赖关系复杂,容易出现兼容性的问题开发、测试、生产环境有差异 Docker 如何解决依赖的兼容问题 将应用的Libs(…

阜宁做网站价格dw网站建设视频下载

道可云元宇宙每日简报(2023年12月7日)讯,今日元宇宙新鲜事有: 青岛市元宇宙领域新产品推介暨产学研对接会举行 为加快推动青岛市元宇宙技术和产业创新,引领下一代互联网发展,青岛市元宇宙领域新产品推介暨…

手机网站如何建立珠海seo推广

目录 架构 环境部署 一、Ansible安装部署 1.yum安装Ansible 2.修改主机清单文件 3.配置密钥对验证 4.ansible-doc 5.看被控主机 二、常用模块 1.Command模块 2.Shell模块 3.Cron模块 1.添加 2.删除 4.User模块 5.Group模块 1.创建组 ​编辑 ​编辑 ​编辑…

高端品牌羽绒服有哪些seo培训机构哪家好

来源:宸元资本一MEMS基本概念和相关产业政策MEMS基本概念微机电系统(MEMS, Micro-Electro-Mechanical System),也叫做微电子机械系统、微系统、微机械等,指尺寸在几毫米乃至更小的高科技装置。微机电系统其内部结构一般…

某财政局网站建设方案当前最好用的wordpress主题

1 Iphone和Ipad同为IOS,设置方法相同。首先进入IOS系统的“设置”程序。 2 点击“通用”进入通用设置,点击“”; 3 选择"添加设置 "; 4 选择L2TP方式,填写必要信息:描述、服务器地址 、您注册充值的账号及密…

网站建设哪个平台好专业团队打造专业品质

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 🔥资讯预览 AI生成技术威胁版权保护,水印技术和法律完善是关键 Sam Altman对…

宁波网站优化东莞建网站公司哪个好

整合JDBC 一、导入依赖二、配置Druid————————创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~ 接着 第10的 新注解: ConfigurationProperties ConfigurationPropert…

外流网站建设腾讯广告推广怎么做

自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进…

建设网站比较好国内个人网站设计

第七节 讲述了增加model中类的属性,由于数据库中已存在表,表中没有存在新加的列,所以可以删除数据库或者在数据库中新增一列,另可以在controller中新增一个数据库初始化的类,并在Global.asax添加初始化数据库的代码 …

网站搭建代码大全装修设计公司介绍

相信,一直关注着我们的同学们都知道,小思妹分享了好多好多的资料给大家。为了方便新来的同学自取,小思妹又重新整理了一遍,直接点以下标题即可跳转!这是我见过的最全的训练数据集,没有之一!送你…

网站建设昆明如何制作wordpress模板

文章目录 JS原生开发-文件上传-变量&对象&函数&事件JS导入库开发-登录验证-JQuery库&Ajax技术JS导入库开发-编码加密-逆向调试 JS原生开发-文件上传-变量&对象&函数&事件 1、布置前端页面 2、JS获取提交数据 3、JS对上传格式判断 <script>…

免费的代码分享网站做网站推广和网络推广

APIFox-自动获取登录状态操作 概述 作为纯后端开发码农&#xff0c;每次接口开发完的调试很重要&#xff0c;因此每次重复的手动获取登陆状态Token或者直接放行就太麻烦了。 APIFox提供了前置操作&#xff0c;可以很方便的自动获取登录状态&#xff0c;节省大量重复劳动时间。…

徐汇网站开发培训班上海网站备案审核

TCP UDP区别 共同点&#xff1a;都是属于传输层的协议 TCP&#xff1a;稳定。面向连接的&#xff0c;有可靠的数据传输服务。传输过程中数据无误&#xff0c;无丢失&#xff0c;无失序&#xff0c;无重复。传输效率低&#xff0c;耗费资源多。数据收发不同步&#xff0c;有沾…

新手容易上手的cms做企业网站金华专业网站建设公司

Expect 用法expect的安装实战——非交互式ssh连接案例1&#xff1a;普通操作案例2&#xff1a;设置变量与进行传参的方式案例3&#xff1a;进行批量推送公钥实现免密连接&#xff0c;ping通一个ip地址连接一个ip 实现批量修改密码&#xff0c;批量推送ssh的公钥&#xff0c;进行…

网站seo优化价格WordPress adsen

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个长度为n的链表&#xff0c;每个节点包含一个额外增加的随机指针random&#xff0c;该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成&#xff0c;其中每个新节点的值都设为…

微信 html5 网站上海网站营销怎么样

BatchNorm算法详解 1 BatchNorm原理 BatchNorm通过对输入的每个mini-batch的数据进行标准化&#xff0c;使得网络的输入分布更加稳定。 在训练过程中&#xff0c;每轮迭代网络层的输入数据分布变化很大的话&#xff0c;使得数据抖动很大&#xff0c;导致权重变化也会很大&am…

网站建设公司网站百度知道答题赚钱

“我会更加努力地工作”——一匹名叫Boxer的马&#xff08;出自乔治奥威尔的《动物农庄》&#xff09; 彼得圣吉在其著作《第五项修炼》中提到的系统思维定律同样适用于软件开发。 1. 今日的问题源于昨日的解决方案&#xff08;Today’s problems come from yesterday’s sol…