重学数据结构:循环链表的各种操作(C语言)

链表的奇偶重排:将链表的奇数位节点和偶数位节点分别放在一起重排后输出 阅读详情

循环单链表定义

其实这里定义的结构跟单链表的没什么区别,只不过在初始化或操作数据的时候,要把next指针指向链表的头指针。

#define bool int
#define true 1
#define false 0
typedef struct LNode
{
    struct LNode *next;
	int data;
}LNode,*ScLinkList;


初始化

void InitList(ScLinkList L)
{
    L=(LNode *)malloc(sizeof(LNode));
	if(L==NULL) //有可能内存分配失败
		return;
	L->next=L;
}

判断节点p是否是尾节点

bool IsTail(ScLinkList L,LNode *p)
{
     if(p->next==L)
		 return true;
	 else 
		 return false;
}

判断链表是否为空

bool IsEmpty(DcLinkList L)
{
     if(L->next==L)
		 return true;
	 else 
		 return false;
}

在节点p后插入节点s

void InsertNextNode(LNode *p,LNode *s)
{
    if(p==NULL||s==NULL) return ;
    s->next=p->next;
    p->next=s;
}

循环双链表定义

#define bool int
#define true 1
#define false 0

typedef struct LNode
{
    struct LNode *next,*prior;
	int data;
}LNode,*DcLinkList;

初始化

void InitList(DcLinkList L)
{
    L=(LNode *)malloc(sizeof(LNode));
	if(L==NULL) //有可能内存分配失败
		return;
	L->next=L;
	L->prior=L;
}

判断节点p是否尾结点

bool IsTail(DcLinkList L,LNode *p)
{
     if(p->next==L)
		 return true;
	 else 
		 return false;
}

判断链表是否为空

bool IsEmpty(DcLinkList L,)
{
     if(L->next==L)
		 return true;
	 else 
		 return false;
}

在节点p后加入节点s

void InsertNextNode(LNode *p,LNode *s)
{
    if(p==NULL||s==NULL) return ;
    s->next=p->next;
    s->prior=p;
    p->next->prior=s;
    p->next=s;
}


删除节点p的后节点

void DelteNextNode(LNode *p)
{
    if(p==NULL) return ;
    LNode *q=p->next;
    p->next=q->next;
    q->next->prior=p;
    free(q);
}

pyautogui库详细教程,逐行注释(附项目实战:基于图像识别实现崩坏星穹铁道自动化测试) 本文包含了pyautogui的使用方法与常见问题指南,随文附带对游戏实现的自动化项目源码与说明文档 阅读详情

相关推荐

ADS124S08配置避坑指南:从SPI时序到寄存器设置,手把手教你调通24位ADC

本文详细解析了ADS124S08 24位ADC的SPI时序配置、寄存器设置及外围电路设计中的关键细节,帮助工程师避开常见陷阱。从SPI通信模式选择到DRDY引脚读取优化,再到基准电压启动时间调整,提供了实战验证的解决方案,确保高精度数据采集的稳定性。

weixin_29192365的博客 287

二叉树的下一个节点

1、题目 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 2、解题 分析二叉树的下一个节点,一共有以下情况: 1.二叉树为空,则返回空; 2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点; 3.节点不是根节点。如果该节点是其父节点的左孩子,则返回父节点;否则继续向上遍历其父节点的父节点,重复之前的判断,返回结果。 /* struct TreeLinkNode

weixin_42282999的博客 371

深入解析uncompyle6反编译pyc文件及常见错误修复指南

本文深入解析了使用uncompyle6工具反编译Python字节码文件(.pyc)的完整流程。针对实践中最高频的KeyError和Python版本范围限制两大错误,提供了详细的修复方案与步骤指南,并分享了处理复杂反编译结果的高级技巧与安全实践,是进行代码恢复、调试与分析的重要参考。

uber9的博客 536

layui 横向表单_layui框架中常见表单排版介绍

平常我们经常用到的表单排版方式常见的有两种,layui文档中已经给出垂直的排版方式,我们做后台的时候也会用到水平排版方式,用于在页面的顶部进行搜索的时候用到。推荐:layui教程下面我们来看一下水平+垂直表单列表实现:一、水平排版html:新增商品状态:启用禁用暂时创建时间:style="width: 240px;">搜索公共css:(包括主题颜色修改).fl { float: left; ...

weixin_39992072的博客 2267

vscode使用continue插件连接LM studio的模型

本文详细介绍了如何使用VSCode的Continue插件连接LM Studio模型。主要步骤包括:在LM Studio中加载模型并设置相关参数,启动API服务,修改Continue配置文件以集成LM Studio模型,并进行测试以验证连接是否成功。通过这些步骤,用户可以将LM Studio中的预训练模型与VSCode的Continue插件无缝对接,实现高效的自然语言处理和编程辅助功能。

weixin_43590837的博客 8631

postgresql 数据库 timescaledb 函数time_bucket_gapfill()报错解决及更换 license

最近在工作中使用postgresql 和 timescaledb 的time_bucket_gapfill()函数 报错,让更换license,在网上找了一大圈,没有找到,最后解决了这个问题,这篇文章记录我的解决办法查看timescaledb.license参数命令:show timescaledb.license;修改命令: 结果不行,报错如下:lter system set timescaledb.license=‘timescale’;那只能换包了如果出现上面那种情况,那我们只能先从官网上下载带 '

yang_z_1的博客 3249

给定一个单链表,请设定一个函数,将链表的奇数位节点和偶数位节点分别放在一起,重排后输出。 注意是节点的编号而非节点的数值。

文章目录1.题目和原题链接2.解题思路3.代码 1.题目和原题链接 题目链接 2.解题思路 1.当链表为空或者只有一个节点时直接返回 2.除上述情况外,再分类讨论,如下图所示 3.代码 ListNode* oddEvenList(ListNode* head) { if(head==NULL||head->next==NULL)//0,1,2个节点直接返回 return head; ListNode* odd=head;

ych9527的博客 1810

ISE 14.7 MCS文件的生成--- Spartan3AN XC3S200AN

步骤一: Generate Programming File生成 .bit文件 步骤二: Tools——>iMPCAT 步骤三: iMPACT Flows——>双击“Create PROM File(PROM File Formatter)” 步骤四: Non-Volatile FPGA——>点击”Spartan 3AN“——>点击“绿色箭头”——>Spartan3AN(bits)——>选择“xc3s200an"——>点击”Add storage Device“—

qq_40039676的博客 2100

layui二级菜单(动态树形结构)

由图可见pid为-1为父级菜单,父级菜单的id与子菜单的pid相对应。构建的实体类要与表中的字段名保持一致。想要的效果图父目录下就是子目录。

weixin_67338832的博客 1208

yolo 图像检测、关键点检测单摄像头测量物体尺寸长度大小

new_distance/real_size (待求物体像素距离与实际距离比值)= distance / metric_length (参照物像素距离与实际距离比值)然后运行size_demo进行要测量的物体进行关节点检测距离;metric_length是上面耳机选取的两个点的实际物理距离,大概6cm;这里用的windows。通过关键点检测识别物体关键点的像素距离,然后参考比例尺计算实际距离。2)关键点算法这里用的现有的进行测试,实际场景需要自己训练。这里拿这模型推理出的关键点坐标进行后续长度计算。

weixin_42357472的博客 2526

SSE(Server-Sent Events)完整使用示例

本篇使用Node.js 作为服务端,在浏览器客户端演示SSE的完整实例和演示。实现了一个基于 Server-Sent Events (SSE) 的实时数据推送功能。

oscar999的专栏 750

重学数据结构(循环链表)

写的时候遇到很多逻辑bug改了一下午;关于合并双循环链表为一条循环链表时,本想用双层while循环+双层switch判断配合goto语句实现程序运行中实时切换链表,并继续选择执行对链表的多个操作,但是考虑到程序的健壮性,还是放弃了。(可以实现,但是会出现很多逻辑bug)循环链表代码函数大致与普通链表相同,但需要注意的是循环判断结束条件并不同,由。

m0_60375826的博客 178

【以太网硬件九】1000base-X是什么?

简要描述1000base-X物理层规范

highman110的博客 1万+

重学数据结构——队列

【队列概念】只允许在表的一端进行插入,而在表的另一端进行删除。四个字:“先进先出”向队列中插入元素称为入队,从队列中删除元素称为出队。提示:简单队列可能存在假溢出或假满的问题。【栈队列对比】后进先出表栈是一种特殊的表,这种表只能在表首(栈顶)进行删除操作和插入操作先进先出表队列是一种特殊的表,这种表只能在表尾进行插入,表首进行删除【循环队列】为了解决假溢出或假满这一问题,一般将顺序队列组成循环队列空队状态入队满队状态出队【循环队列—课堂习题】...

weixin_48502296的博客 4171

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

重学数据结构-使用Kotlin实现链表及其他扩展

What is a linked list????? 不同于栈与队列及动态数组,它是真正意义上最简单的动态数据结构 优点:真正的动态,不需要处理固定容量的问题 缺点:丧失了随机访问的能力 数据存储在 “节点”(Node)中 class Node(val e: E, val next: Node) 学习链表我们可以获得哪些? 加深引用的理解。(类似C语言的指针) 链表内部也有递归结构的性质 便于对其他数据结构的辅助 实现单向链表 如何实现一个单向链表呢? 很简单,链表不像数组那

petterp的博客 979

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

重学数据结构之第三章-线性表

线性表:零个或多个数据元素的有限序列。 几个关键点:首先它是一个序列,元素之间是有顺序的,若存在多个元素,则第一个元素无前驱,最后一个元素无后继,其他每个元素有且只有一个前驱和后继。 前驱和后继后续文章中也会提到,就是指的前一个数据元素和后一个数据元素,只是简化了叫法。

James-Tom的博客 802

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

数据结构与算法-抽象数据类型ADT系列

以前在学习数据结构的时候做实验,老师要求用来写这些实现代码。不过以前学习的时候使用的编程语言是,里面会用到很多指针。现在编代码过程大多数时候都是用Java。不过思路应该还是可以参考一下的。二叉树:前序、中序、后序遍历。哈夫曼树。图。链表。栈。队列。邻接矩阵。邻接表。

nameofworld的博客 618

Python数据结构

Python 数据结构

qq_41188247的博客 197

重学c艹数据结构(2)

编号。

cenpe的博客 276

layui数据表格横向滚动条不显示问题

* 设置滚动条轨道背景颜色 */background-color: #888;/* 设置滚动条滑块颜色 */border-radius: 5px;/* 设置滚动条滑块圆角 *///用来指定滚动条的样式,设置滚动条显示为内联元素。/* 设置滚动条滑块的样式 */使用的框架是layuimini,

cqdddgs的博客 1447

layui 横向表单_对layui中表单元素的使用详解

首先不管是单选框还是复选框或者是下拉框,都要在你写的标签外面套一层div或者是form标签,如:这样写好了以后,你如果是写在静态页面,这样式可以看见效果,如果写在js里,这样写了还有一步得写,那就是var form = layui.form();form.render("select"); //更新全部这样写是外面套的是form标签,如果是div,就写layui.div();即可。对于下拉框的事件...

weixin_39719042的博客 212

layui 横向表单_fwr-layui-formdesigner

项目说明本项目是一个基于layui表单组件的表单设计器,秉承Layui的设计风格,符合Layui插件规范,不需要进行nodejs编译,直接使用。本项目基于Layui、Jquery、Sortable项目中的js代码格式化使用了js_beautify3、项目已经基本实现了拖动布局,父子布局4、项目实现了大部分基于Layui的Form表单控件布局,包括输入框、编辑器、下拉、单选、单选组、多选组、日期、滑...

weixin_39725365的博客 872

链表的奇偶重排

题目描述 给定一个单链表,请设定一个函数,讲链表的奇数位节点和偶数位节点分别放在一起,重排后输出。 注意是节点的编号而非节点的数值。 示例1 输入 {1,2,3,4,5,6} 返回值 {1,3,5,2,4,6} /** * struct ListNode { * int val; * struct ListNode *next; * }; */ class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直

砍柴人的博客 665

layui使用总结--解决数据表格出现横向滚动条的情况

在 x-admin 后台框架中使用 layui 的数据表格 表格下方出现了滚动条,看着十分碍眼 如图 但是我发现,只要将最左边的复选框去掉,便不会出现滚动条 如图 滚动条就没了 当然这不是最优解 因为有些情况下是需要用到复选框的 那么如何在既显示复选框的情况下,又没有这可恶的滚动条呢 大致在百度到一些相关问题和答案 仅供参考 ...

yoonhi 1万+

layui上传文件请求接口异常_解决layui table表单提示数据接口请求异常的问题

问题一:直接拿别人的文件放在本地打开如下图原因:这是提示“交叉源请求仅支持协议方案:HTTP、数据、Chrome、Chrome扩展、HTTPS。”也就是你不能用本地文件打开,本地打开是file:///C:/Users/Administrator/Desktop/git/layui_table1.html可以在本地服务器上展示没有问题http://localhost/git/layui_table1...

weixin_39619270的博客 1484

layui 横向表单_Layui form 表单(常用)

form依赖模块formlayui-form div.layui-form-item label.layui-form-label div.layui-input-blockinput.layui-input lay-verify="required"image.png输入框密码框辅助文字选择框北京上海广州深圳杭州复选框开关单选框文本域立即提交重置//Demolayui.use('form'...

weixin_42165980的博客 1815
上一篇: 重学数据结构:双向链表的各种操作(C语言)
下一篇: 重学数据结构:静态链表的各种操作(C语言)
Ken_Li_Lsq
博客等级 码龄14年 22粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值