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

循环链表和双向链表

一、 带尾指针的循环链表的合并

算法步骤:

  1. p存表头结点——p=Ta->next;
  2. Tb表头连接到Ta表尾——Ta->next=Tb->next->next;
  3. 释放Tb表头结点——delate Tb->next;
  4. 修改指针——Tb->next=p;
LinkList Connect(LinkList Ta,LinkList Tb){p=Ta->next;    //p存表头结点Ta->next=Tb->next->next;  //Tb表头连接Ta表尾delete Tb->next;   //释放Tb表头结点Tb->next=p;    //修改指针return Tb;
}
二、 双向链表

结构定义如下:

typedef struct DuLNode{Elemtype data;struct DuLNode *prior,*next;
}DuLNode,*DuLinkList;
priordatanext

双向链表结点结构 

三、 双向循环链表

和单链的循环表类似,双向链表也可以有循环表

  • 让头结点的前驱指针指向链表的最后一个结点
  • 让最后一个结点的后继指针指向头结点
四、 双向链表的删除
void ListDelete_DuL(DuLink &L,int i,ElemType &e){//删除带头结点的双向循环链表L的第i个元素,并用e带回if(!(p=GetElemP_DuL(L,i)))  return ERROR;e=p->data;p->piror->next=p->next;p->next->prior=p->prior;free(p);return OK;
}

http://www.lryc.cn/news/454225.html

相关文章:

  • 【Linux庖丁解牛】—Linux基本指令(中)!
  • 【电路笔记】-运算放大器微分器
  • 【Unity踩坑】使用内购时获取Google Play license key
  • 华为OD机试真题-数组拼接-2024年OD统一考试(E卷)
  • 【Android 14源码分析】Activity启动流程-2
  • ubuntu 18.04 cuda 11.01 gpgpu-sim 裸机编译
  • 【Kubernetes】常见面试题汇总(五十二)
  • o1-preview 在 IMO 2024 第一题的实测表现
  • iOS--RunLoop原理
  • 并查集——从LeetCode题海中总结常见套路
  • 深入理解作用域【JavaScript】
  • 微信小程序实战教程:如何使用map组件实现地图功能
  • 张雪峰谈人工智能技术应用专业的就业前景!
  • 机器学习课程学习周报十五
  • rabbitMq------客户端模块
  • 地理定位营销与开源AI智能名片O2O商城小程序的融合与发展
  • 解决Vue应用中遇到路由刷新后出现 404 错误
  • 在window10下使用directml加速phi-3模型的一些记录
  • 通信工程学习:什么是OSPF开放式最短路径优先
  • 《中国电子报》报道: 安宝特AR为产线作业者的“秘密武器
  • 【Android】Handler消息机制
  • 大数据必懂知识点:Parquet、ORC还是Avro作为数据存储格式,哪种在性能和压缩率上更优
  • P1387 最大正方形
  • Python知识点:如何使用Multiprocessing进行并行任务管理
  • React常见优化问题
  • css 简单网页布局——浮动(一)
  • 设计模式(3)builder
  • Day01-MySQL数据库介绍及部署
  • 分享一个餐饮连锁店点餐系统 餐馆食材采购系统Java、python、php三个版本(源码、调试、LW、开题、PPT)
  • 解决跨域问题