当前位置: 首页 > wzjs >正文

用织梦做的网站下载地址个人简历电子版免费

用织梦做的网站下载地址,个人简历电子版免费,wordpress喜欢,关于网站建设的建议征集在链表操作中,删除指定元素是一个常见的任务。本文将详细解析两段C语言代码,它们都实现了从单链表中删除指定值的节点的功能。理解这两种方法,对于掌握链表操作和算法设计很有帮助。 单链表的结构定义 在开始分析代码之前,先看…

在链表操作中,删除指定元素是一个常见的任务。本文将详细解析两段C语言代码,它们都实现了从单链表中删除指定值的节点的功能。理解这两种方法,对于掌握链表操作和算法设计很有帮助。
 


单链表的结构定义
 


在开始分析代码之前,先看一下单链表节点的结构定义:
 

struct ListNode {int val;struct ListNode *next;
};


每个节点包含一个整数值 val 和一个指向下一个节点的指针 next 。
 

 

第一种实现方法
 


代码展示
 

 

struct ListNode* removeElements(struct ListNode* head, int val) 
{struct ListNode*newcode=NULL;struct ListNode*temp=NULL;struct ListNode*cur=head;while(cur){if(cur->val!=val){if(temp==NULL){newcode=temp=cur;}else{temp->next=cur;temp=temp->next;}cur=cur->next;}else{struct ListNode*next=cur->next;free(cur);cur=next;}}if(temp)temp->next=NULL;return newcode;
}


 
代码解析
 


初始化指针: newcode 用于指向新链表的头节点, temp 用于遍历新链表, cur 用于遍历原链表。
遍历原链表:使用 while 循环遍历链表, cur 依次指向每个节点。
判断节点值:如果当前节点的值不等于要删除的值 val ,则将其加入新链表。如果新链表为空,将 newcode 和 temp 都指向当前节点;否则,将当前节点接到 temp 的后面,并更新 temp 。
删除节点:如果当前节点的值等于 val ,保存下一个节点的指针,释放当前节点,然后将 cur 指向下一个节点。
处理链表末尾:遍历结束后,将新链表的最后一个节点的 next 设为 NULL ,防止出现野指针。
返回结果:返回新链表的头节点 newcode 。
 


第二种实现方法
 


代码展示
 

 
struct ListNode* removeElements(struct ListNode* head, int val) 
{struct ListNode*pre=NULL;struct ListNode*tmp=head;while(tmp){if(tmp->val!=val){pre=tmp;tmp=tmp->next;}else{if(pre==NULL){tmp=head->next;free(head);head=tmp;}else{pre->next=tmp->next;free(tmp);tmp=pre->next;}}}return head;
}


代码解析
 


初始化指针: pre 用于指向当前节点的前一个节点, tmp 用于遍历链表。
遍历链表:使用 while 循环遍历链表, tmp 依次指向每个节点。
判断节点值:如果当前节点的值不等于 val ,则将 pre 指向当前节点,然后 tmp 指向下一个节点。
删除节点:如果当前节点的值等于 val ,分两种情况处理。如果 pre 为空,说明当前节点是头节点,更新头节点并释放原头节点;否则,将 pre 的 next 指向 tmp 的下一个节点,释放 tmp ,然后将 tmp 指向 pre 的下一个节点。
返回结果:返回更新后的头节点 head 。
 



总结
 


这两种方法都能有效地从单链表中删除指定值的节点。第一种方法通过构建新链表来实现,逻辑较为清晰;第二种方法则直接在原链表上进行删除操作,更节省空间。在实际应用中,可以根据具体需求选择合适的方法。理解和掌握这些链表操作技巧,有助于提升编程能力和解决实际问题的能力。


文章转载自:

http://HsmKM4m2.hqhLx.cn
http://y36QhD7v.hqhLx.cn
http://dQahzKSW.hqhLx.cn
http://ppJNTarE.hqhLx.cn
http://y0htxJjo.hqhLx.cn
http://xVXCLCVC.hqhLx.cn
http://RaIKQ4lg.hqhLx.cn
http://GU6zLIav.hqhLx.cn
http://Y5xk1jP3.hqhLx.cn
http://SC29mWNI.hqhLx.cn
http://LjUKzc3g.hqhLx.cn
http://iNIUsUaC.hqhLx.cn
http://qbf0SvHz.hqhLx.cn
http://BwOgCzw0.hqhLx.cn
http://4hnuOfkw.hqhLx.cn
http://rVdHOmg1.hqhLx.cn
http://sSotPMAf.hqhLx.cn
http://fncg5fXS.hqhLx.cn
http://TanHNCjf.hqhLx.cn
http://OZepecyN.hqhLx.cn
http://8RaOvTEd.hqhLx.cn
http://kyVZGxo1.hqhLx.cn
http://RUy4U8f4.hqhLx.cn
http://Qd3TFQeK.hqhLx.cn
http://iRrPvL4l.hqhLx.cn
http://xzk0NFyA.hqhLx.cn
http://1o89JYkE.hqhLx.cn
http://8zhSnSuc.hqhLx.cn
http://p8NhJlmY.hqhLx.cn
http://pxxgncdj.hqhLx.cn
http://www.dtcms.com/wzjs/770172.html

相关文章:

  • 自己搭建视频播放网站wordpress可以用火车头采集
  • 贵阳网站制作套餐南昌网站建设过程
  • 简单的网站怎么做常用的网站建设程序有哪些
  • 杭州江干网站建设网站建设制作设计平台
  • 建设网站以什么为导向WordPress小工具是什么
  • 优秀大校网站微商城网站建设新闻
  • 网站开发一般流程西安网站建设网站排名优化
  • 清徐网站建设wordpress需要授权吗
  • 搜索关键词站长工具企业门户网站建设现状
  • 关于网站建设的外文文献ktv在那些网站做宣传效果好
  • 网站建设-搜遇网络杭州专业做网站
  • 电脑什么网站可以做长图攻略做网站有什么要求
  • 网站建设网站多少钱综合服务门户网站建设
  • wordpress的源代码霸州网站优化
  • 网站开发心得体会门户网站的建立
  • 网站如何建设二级域名代理没有数据怎么做网站
  • 手机上自己如何做网站时事新闻最新消息
  • 秦皇岛手机网站建设医疗网站专题怎样做
  • 网站不同颜色帮人做违法网站
  • 太原网站建设主页做网站挣钱的人
  • 一个网站做多少页面数量合适山西省建设局官方网站
  • 大型医疗网站建设营销型网站建设ppt模板下载
  • 深圳建设工程交易网站网站集约化平台建设分析
  • 网站首页 seo重庆建设工程施工安全网
  • 床上用品网站源码手机网站开发调用照片
  • 手机网站可以做英文版本吗网站中数据库教程
  • 怎么做微网站三栏wordpress主题
  • top的域名网站一流本科专业建设点网站
  • seo网站优化系统新手做网站需要哪些教材
  • 网站自助搭建手机网站二级域名