循环链表3

插入函数——插入数据,在链表plsit的pos位置插入val数据元素

位置pos(在无特别说明的情况下)是从0开始计数的

要改变链表结构,就要依赖前驱,每个前驱的next存储着下一个数据结点的地址,也就是依靠前驱的next来绑着后面一长串的数据结点,前驱就是从plist开始,结束于p->next的位置

这个也可以用while循环写,但用while循环写这个条件就很容易被遗忘写上,它一般写在循环体的最后一行,类似相当于循环执行一遍后的i++,然后在i++之后再判断循环条件2.        如果遗忘不写i++,就会造成死循环出不来等等问题

所以用for循环的好处就是3个条件参数可以明确的写出来,不会遗漏

获取数据结点的个数函数

测试插入函数

记得多测几个边界

还是一样的

判空函数

测试一下

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

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

相关文章

netty整合websocket(完美教程)

websocket的介绍: WebSocket是一种在网络通信中的协议,它是独立于HTTP协议的。该协议基于TCP/IP协议,可以提供双向通讯并保有状态。这意味着客户端和服务器可以进行实时响应,并且这种响应是双向的。WebSocket协议端口通常是80&am…

敏捷需求管理

敏捷需求管理是一种以敏捷方式进行需求收集、分析和确认的方法。它强调持续不断的需求迭代和交付,以适应快速变化的市场和业务需求。 敏捷需求管理的主要特点包括: 以用户故事为核心:敏捷需求管理以用户故事为核心,将用户需求作…

FPGA——IP核 基础操作

FPGA——IP核 基础操作 IP核例化模块时钟IP核RAM IP核 IP核例化模块 找到模版 加入代码中 时钟IP核 配置模式功能 配置输入时钟 输出配置 RAM IP核

JavaScript 常用符号

JavaScript是一门基础性的编程语言,常用于web开发中。JS中有许多特殊的符号,这些符号的用法十分重要,直接影响代码的正确性和可读性。在日常编写中,我们会频繁使用以下几个符号。 一、等于号() 等于号在JS…

QT之QProcess

类描述信息 QProcess允许您将进程视为顺序I/O设备。您可以写入和读取进程,就像使用QTcpSocket访问网络连接一样。然后,您可以通过调用write()写入进程的标准输入,并通过调用read()、readLine()和getChar()读取标准输出。由于QProcess继承了QI…

python 将str转换成list

import ast str [a,b,c] list ast.literal_eval(str) print(type(list))

Pytorch 网络冻结的三种方法区别:detach、requires_grad、with_no_grad

1、requires_grad requires_gradTrue # 要求计算梯度; requires_gradFalse # 不要求计算梯度;在pytorch中,tensor有一个 requires_grad参数,如果设置为True,那么它会追踪对于该张量的所有操作。在完成计算时可以通过调…

阿里云服务器公网带宽升级的三种方法

阿里云服务器公网带宽不够用有哪些解决方法?可以更改带宽或带宽临时升级,更改带宽是永久公网带宽,带宽临时升级可以选择升级时间段,也可以绑定弹性公网EIP来修改公网带宽,阿里云服务器网aliyunfuwuqi.com分享阿里云服务…

海外IP代理科普——API代理是什么?怎么用?

随着互联网的不断发展,越来越多的企业开始使用API(应用程序接口)来实现数据的共享和交流。而在API使用中,海外代理IP也逐渐普及。那么,什么是API代理IP呢?它有什么作用?API接口有何用处&#xf…

从0开始学习JavaScript--JavaScript 函数

JavaScript中的函数是编写可维护、模块化代码的关键。本文将深入研究JavaScript函数的各个方面,包括基本语法、函数作用域、闭包、高阶函数、箭头函数等,并通过丰富的示例代码来帮助读者更好地理解和应用这些概念。 函数的基本语法 函数是一段可被重复…

git merge指定的文件

如果你只想在合并时包含特定类型的文件(例如,只合并.java文件),可以使用git checkout命令和git merge命令的组合来实现。以下是一个可能的步骤: 确保在目标分支上: 在执行合并之前,请确保你已经…

openGauss学习笔记-129 openGauss 数据库管理-参数设置-查看参数值

文章目录 openGauss学习笔记-129 openGauss 数据库管理-参数设置-查看参数值129.1 操作步骤129.2 示例 openGauss学习笔记-129 openGauss 数据库管理-参数设置-查看参数值 openGauss安装后,有一套默认的运行参数,为了使openGauss与业务的配合度更高&…

nvim 配置教程

1. 主角: NeoVim sudo apt install -y ninja-build gettext cmake unzip curl sudo apt install -y universal-ctags cscope #函数跳转用到的依赖 git clone https://github.com/neovim/neovim.git --depth1 cd neovim make CMAKE_BUILD_TYPERelWithDebInfo sudo…

C#学习相关系列之Linq用法---where和select用法(二)

一、select用法 Linq中的select可以便捷使我们的对List中的每一项进行操作,生成新的列表。 var ttlist.select(p>p10); //select括号内为List中的每一项,p10即为对每一项的操作,即对每项都加10生成新的List 用法实例: 1、la…

C++ 20类型转换指南:使用场景与最佳实践

C 20类型转换指南&#xff1a;使用场景与最佳实践 类型转换 (Casts) C 提供了五种特定的类型转换&#xff1a;const_cast<>()、static_cast<>()、reinterpret_cast<>()、dynamic_cast<>() 和 C20 引入的 std::bit_cast<>()。 请注意&#xff…

阿里云服务器带宽可以修改吗?不够用怎么办?

阿里云服务器公网带宽不够用有哪些解决方法&#xff1f;可以更改带宽或带宽临时升级&#xff0c;更改带宽是永久公网带宽&#xff0c;带宽临时升级可以选择升级时间段&#xff0c;也可以绑定弹性公网EIP来修改公网带宽&#xff0c;阿里云服务器网aliyunfuwuqi.com分享阿里云服务…

NoSQL 与传统数据库的集成

数据库集成势在必行 随着数据格局以前所未有的复杂性和规模发展&#xff0c;围绕数据库的叙述已经发生了巨大的变化。NoSQL 数据库已成为传统关系数据库的引人注目的替代品&#xff0c;在可扩展性、灵活性和数据模型多样性方面提供了显着的优势。然而&#xff0c;由于其 ACID …

SpringCloud原理-OpenFeign篇(三、FeignClient的动态代理原理)

文章目录 前言正文一、前戏&#xff0c;FeignClientFactoryBean入口方法的分析1.1 从BeanFactory入手1.2 AbstractBeanFactory#doGetBean(...)中对FactoryBean的处理1.3 结论 FactoryBean#getObject() 二、FeignClientFactoryBean实现的getObject()2.1 FeignClientFactoryBean#…

oepnpnp - 自己出图做开口扳手

文章目录 oepnpnp - 自己出图做开口扳手概述笔记做好的一套扳手实拍美图工程图END oepnpnp - 自己出图做开口扳手 概述 我的openpnp设备顶部相机安装支架, 由于结构限制, 螺柱的安装位置和机械挂壁的距离太近了. 导致拧紧(手工或者工具)很困难. 也不能重新做相机支架, 因为将…

构建和应用卡尔曼滤波器 (KF)--扩展卡尔曼滤波器 (EKF)

作为一名数据科学家&#xff0c;我们偶尔会遇到需要对趋势进行建模以预测未来值的情况。虽然人们倾向于关注基于统计或机器学习的算法&#xff0c;但我在这里提出一个不同的选择&#xff1a;卡尔曼滤波器&#xff08;KF&#xff09;。 1960 年代初期&#xff0c;Rudolf E. Kal…