数据结构-顺序表6

news2025/4/8 19:21:07

八.返回key的前驱下标,如果不存在(key无前驱,在表头)返回-1函数

思路:找到key的前驱,调用Search函数找key就可以

这里把i<=0写成i<0,也是可以的,因为i==0接着进入下面return i-1后跟上面的return -1一样都是返回-1.代码有多样性不是每个人都一成不变的,但各种条件方面我们都要考虑到

所以好的代码就是要:

1.考虑到各种边界条件

2.通过所有的测试用例

3.通过时间空间复杂度(越低越好)

九.返回key的后继下标,如果不存在(key无后继,在表尾)返回-1函数

思路:跟前驱同样,找到key的后继,调用Search函数找key就可以

十.清空数据函数(数据不要结构还要)

把所有数据都清了,就是说所有的数据我都不要了,但这个顺序表的结构我还要呢,只是表里面的有效数据都不要了,也就是有效数据为0。也就是里面不管有什么或多少数据,我就认为你是无效的,那不就把所有的数据给它清空了吗。
(这里不是说把所有的数据值都置为0,因为就算全都是0,如果length值不为0的话,那就是说表里还有length长度个数的0为有效数据,表还是不空)

比如现在有一张课表,那我现在要把这个课表里面的东换成上从上学期的课表,我换成这学期的课表,那我要换课表,我这个课表结构还要呢,只是把原来所有的数据清空了,换上新的数据(新课表)。(而不是全换0,把上学期的课全换成无课)

现在来测试清空函数

这个下面什么都没有输出就是清空成功了


 

十一.销毁整个内存函数(顺序表结构也不要了)(主要用于不定长顺序表)

那么顺序表结构长什么样呢,就是里面带有elem和length的结构

我们上面的这个结构里面的elem和length在程序运行完结束退出后是都释放掉没有了的。

其实销毁主要是销毁整个动态内存,但我们这里是定长顺序表,没有动态内存,所以也就没有销毁内存(要销毁也要先有东西才能销毁这个东西)。        所以我们在这里直接调用Clear清空函数就可以了

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

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

相关文章

响应式相册写真摄影网站模板源码

模板信息&#xff1a; 模板编号&#xff1a;28526 模板编码&#xff1a;UTF8 模板颜色&#xff1a;黑白 模板分类&#xff1a;摄像、婚庆、家政、保洁 适合行业&#xff1a;婚纱摄影类企业 模板介绍&#xff1a; 本模板自带eyoucms内核&#xff0c;无需再下载eyou系统&#x…

springboot第44集:Kafka集群和Lua脚本

servers&#xff1a;Kafka服务器的地址。这是Kafka集群的地址&#xff0c;生产者将使用它来发送消息。retries&#xff1a;在消息发送失败时&#xff0c;生产者将尝试重新发送消息的次数。这个属性指定了重试次数。batchSize&#xff1a;指定了生产者在发送消息之前累积的消息大…

6.scala辅助构造器与为构造函数提供默认值(一)

概述 本文主要说明: 辅助构造器 与 为构造函数提供默认值 的使用 辅助构造器为构造函数提供默认值 相关链接 阅读之前&#xff0c;可以浏览一下 scala相关文章 辅助构造器 可以通过定义名为this的方法来定义辅助Scala类构造函数。只有几个规则需要了解&#xff1a; 每个辅助…

算法笔记【7】-直接插入排序算法

文章目录 一、简介二、基本原理和实现步骤三、优缺点分析 一、简介 在排序算法中&#xff0c;直接插入排序是一种基本而常用的排序方法。它通过不断将待排序数组中的元素插入到已排序部分的合适位置&#xff0c;逐步构建有序数组。本文将详细介绍直接插入排序算法的原理、实现…

2024王道考研计算机组成原理——总线

6.1 总线概述 每一个外设都通过IO接口和DB、CB、AB相连 三系统总线结构&#xff1a; 桥有总线仲裁的功能&#xff0c;就是把某一总线的使用权分给哪个设备&#xff1f; 6.1.2 总线的性能指标 总线复用&#xff1a;分时传输地址&数据 6.2 总线仲裁 通过控制总线来发送使…

《RT-DETR改进实战》专栏介绍 专栏目录

《RT-DETR改进实战专栏》介绍及目录 介绍&#xff1a;欢迎来到最新专栏《RT-DETR改进实战》&#xff01;这个专栏专注于基于 YOLOv8 项目的魔改版本&#xff0c;而不是百度飞桨框架中的 RT-DETR。 本专栏为想通过改进 RT-DETR 算法发表论文的同学设计。每篇文章均包含完整的改…

使用示例和应用程序全面了解高效数据管理的Golang MySQL数据库

Golang&#xff0c;也被称为Go&#xff0c;已经成为构建强大高性能应用程序的首选语言。在处理MySQL数据库时&#xff0c;Golang提供了一系列强大的库&#xff0c;简化了数据库交互并提高了效率。在本文中&#xff0c;我们将深入探讨一些最流行的Golang MySQL数据库库&#xff…

ImportError: DLL load failed while importing _pyopenvino: 找不到指定的程序

ImportError: DLL load failed while importing _pyopenvino: 找不到指定的程序 完全按照官方的pip安装方式&#xff0c;但是报错 解决方法&#xff1a; 下载下面压缩包 官网下载链接 解压到 运行程序之前 完成&#xff01;&#xff01;&#xff01; 测试 python -c &quo…

思维模型 纳什均衡

本系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。纳什均衡解释了囚徒困境、智猪博弈、内卷、美苏的军备竞赛等博弈问题。 1 纳什均衡的应用 1.1 经典的 囚徒困境 1 背景 囚徒困境是一个经典的博弈论问题&#xff0c;主要描述了两个被捕的…

第十三章 枚举与泛型

13.1枚举类型 13.1.1 使用枚举类型设置常 设置常量时&#xff0c;通常将常量放置在接口中&#xff0c;这样在程序中直接使用。该常量不能被修改&#xff0c;因为在接口定义常量时&#xff0c;该常量的修饰符为final与static。常规定义常量的代码如下&#xff1a; public int…

Stable Diffusion系列(一):古早显卡上最新版 WebUI 安装及简单操作

文章目录 Stable Diffusion安装AnimateDiff插件适配sdxl模型适配 Stable Diffusion使用插件安装界面设置基础文生图加入lora的文生图 Stable Diffusion安装 我的情况比较特殊&#xff0c;显卡版本太老&#xff0c;最高也就支持cuda10.2&#xff0c;因此只能安装pytorch1.12.1&…

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)

目录 秒杀按钮代码实现:vue的JS实现:秒杀请求需求:代码前端后端Seckill-apidomainSeckill-serverWebConfig1、秒杀请求判断controller2、重复下单判断MapperService 接口Impl 实现类controller3、库存判断4、秒杀涉及到的操作_01、减库存_02、创建订单对象并保存_03、用户下…

mycat2.X读写分离

一、数据库中间件介绍 二、下载安装包 2.1下载地址: 下载两个一个是mycat程序,一个是mycat的驱动 http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.20.zip http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies-2…

电子邮件钓鱼攻击的防范:如何识别并避免网络诈骗

在数字化的今天&#xff0c;电子邮件成为我们日常工作和生活中不可或缺的通讯工具。然而&#xff0c;电子邮件钓鱼攻击也随之成为网络诈骗的常见手法。通过识别和避免电子邮件钓鱼攻击&#xff0c;我们可以在很大程度上保护自己的网络安全。本文将为您提供一些实用的识别和防范…

nacos在linux中的安装、集群的配置、mysql生产配置

1.下载和安装 官方下载地址&#xff1a;https://github.com/alibaba/nacos/releases&#xff0c;根据自己需要的本版去下载就行 下载的是 .tar.gz 后缀的文件是linux版本的 使用tar命令解压&#xff0c;完成之后是一个nacos的文件夹 和windows下的文件夹目录是一样的 要启…

小黑子—spring:第三章 AOP开发

spring入门3.0 三 小黑子的springAOP开发1. AOP简介1.1 AOP的概念1.2 AOP思想的实现方案1.3 模拟AOP思想实现的基础代码1.4 AOP的相关概念 2. 基于xml配置的AOP2.1 XML方式AOP快速入门2.2 XML方式AOP配置详解2.3 xml方式AOP的原理解析2.3.1 AOP底层两种生成Proxy的方式 3. 基于…

一个老旧优盘从2M变回8G的逆袭之路

前言 最近收拾资料&#xff0c;发现了一个比较老的优盘&#xff0c;上面标记8G内存&#xff0c;就好奇里边存了点啥。用电脑打开&#xff0c;啥内容都没有&#xff0c;结果大小还显示2M&#xff1f;&#xff1f;&#xff1f;看看今天能不能救活吧。 正文 步骤一、清空磁盘 …

并发安全问题之超卖问题

并发安全问题之超卖问题 乐观锁总结&#xff1a; 优点&#xff1a;不加锁性能好。 缺点&#xff1a;同时请求成功率低&#xff08;即只要发现数据变了就放弃了&#xff09;。 乐观锁思想的具体体现&#xff1a;一共两步&#xff0c;第一步&#xff0c;先查询状态。第二步&…

Java VMTranslator Part I

目录 堆栈运算命令 基本思路 核心代码 Parser Code Writer Main 实验结果&#xff0c;使用SimpleAdd、StackTest进行验证 内存访问命令 基本思路 核心代码 Parser Code Writer Main 实验结果&#xff0c;使用进行验证。对比生成的二进制代码文件。 用Java写一个翻…

MySQL6:索引使用原则,联合索引,联合主键/复合主键,覆盖索引、什么是回表?索引条件下推,索引的创建与使用,索引的创建与使用,索引失效

MySQL6&#xff1a;索引使用原则&#xff0c;联合索引&#xff0c;联合主键/复合主键&#xff0c;覆盖索引、什么是回表&#xff1f;索引条件下推&#xff0c;索引的创建与使用&#xff0c;索引的创建与使用&#xff0c;索引失效 索引使用原则列的离散(sdn)度 联合索引创建联合…