顺序存储结构的读取、插入与删除

顺序线性表--L已经存在,且1 <= index <= ListLength(L)

一、获得元素操作--GetElem

含义:将线性表L中的index 个位置元素值返回

思路:只要 index 的数值在数组下标值范围内,把数组第 index-1下标的值返回即可

二、插入操作--ListInsert

含义:在线性表L中的第 index 个位置插入新元素 e

思路:

三、删除操作--ListDelete

含义:将线性表L中的第 index 个位置的元素 e删除

思路:

四、python代码实现

class SequenceList:def __init__(self, max_size):# 顺序表的最大容量self.max_size = max_size# 初始化一个长度为 max_size 的列表self.data = [None] * max_size# 当前顺序表的长度self.length = 0# 判断线性表是否为空def is_empty(self):return self.length == 0# 判断线性表是否已满def is_full(self):return self.length == self.max_size# 取出线性表中 第 index 个位置的元素def GetElem(self,index):if index<0 | index>=self.length:return "Index out of range!"else:return self.data[index-1]# 将元素 x 插入到线性表中的第 index 个位置def ListInsert(self,index,x):if self.is_full():return "Sequence list is full"if index < 0 or index > self.length:return "Invalid index"# 将 index 之后的元素后移一位# 每次循环减少 1,即从后往前逐步遍历for i in range(self.length,index,-1):self.data[i]=self.data[i-1]#利用切片亦可将 index 之后的元素后移一位#self.data[index + 1:self.length + 1] = self.data[index:self.length]# 将新元素插入到指定位置self.data[index]=x# 线性表长度+1self.length +=1return "Insert Successfully!"# 将线性表中第 index 个位置的元素删除def ListDelete(self, index):if index < 0 or index > self.length:return "Invalid index"# 将 index 之后的元素向前移一位for i in range(index,self.length-1):self.data[i] = self.data[i+1]# 将最后一个元素置为Noneself.data[self.length-1]=None# 线性表长度-1self.length -=1return "Delete Successfully!"# 在已有线性表上进行操作
seq_list_1 = [1,3,5,7,2,8,9,10]
seq_list = SequenceList(len(seq_list_1))for elem in seq_list_1:seq_list.ListInsert(seq_list.length, elem)
print("顺序表的元素:", seq_list.data)print("获取索引为 1 的元素:", seq_list.GetElem(1))seq_list.ListDelete(1)  # 删除索引为 1 的元素
print("删除后的顺序表:", seq_list.data)seq_list.ListInsert(0, 15)
print("插入元素后的顺序表:", seq_list.data)

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

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

相关文章

最近公共祖先(LCA)

题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入格式 第一行包含三个正整数 N,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来 N−1 行每行包含两个正整数x,y,表示 x 结点和 y 结点之间有一条直接连接的边(数据保证可以…

WPF —— 动画缩放变换

ScaleTransform:在二维x-y坐标系统内缩放对象; 在故事板中依赖的属性为RenderTransform.ScaleX或RenderTransform.ScaleY,这要根据你要沿哪个轴进行缩放,X代表x轴,Y代表y轴; key属性当我们使用静态资源访问时候--> <!--TargetType"{x:Type Button} 直接应用…

从零开始做自动驾驶定位(十三)_ 关于建图的讨论

从零开始做自动驾驶定位(十三): 关于建图的讨论 配套代码和测试数据&#xff1a;联系作者获取 附赠自动驾驶学习资料和量产经验&#xff1a;链接 代码在后续可能会有调整&#xff0c;如和文章有出入&#xff0c;以实际代码为准 系列文章进行到这里&#xff0c;建图部分算是基…

详细分析Vuex中的mapGetters

目录 1. 基本知识2. Demo13. Demo2 1. 基本知识 优势和用途 简化代码&#xff1a;用 mapGetters 和 mapState&#xff0c;可以简化组件中对于 Vuex 中状态和 getter 的映射工作&#xff0c;减少了重复的代码书写更易读&#xff1a;组件中直接使用映射的计算属性&#xff0c;使…

Objective-C学习笔记(NSString,NSMutableString,NSArray)4.11

1.框架&#xff1a;系统/第三方写好的类&#xff0c;这些类的集合就是框架。 2.NSString方法&#xff1a;①拼接&#xff1a;stringWithFormat&#xff1a;参数。 ②长度&#xff1a;str.length ③字符串指定下标的字符&#xff1a;characterAtIndex&#xff1a;参数:&#xf…

CSS设置文本

目录 概述&#xff1a; text-aling: text-decoration: text-transform: text-indent: line-height: letter-spacing: word-spacing: text-shadow: vertical-align: white-space: direction: 概述&#xff1a; 在CSS中我们可以设置文本的属性&#xff0c;就像Word文…

20 Games101 - 笔记 - 光场、颜色与感知

**20 ** 光场、颜色与感知 光场 眼睛成像 眼睛成像&#xff1a;我们看到这个三维世界&#xff0c;在眼睛里类似就是一幅二维的图。如果直接看到一幅记录了看到的光线信息的图&#xff0c;也能得到同样效果&#xff08;虚拟现实&#xff09;。 全光函数 全光函数可以描述…

利用国内代理IP突破地域限制访问受限网站实战指南

在某些情况下&#xff0c;由于版权、政策或服务提供商的限制&#xff0c;您可能会遇到无法访问特定网站的问题。这种现象通常被称为“地域限制”。要解决这个问题&#xff0c;一种常用的方法是通过使用国内代理IP来模拟从不同地区进行网络访问&#xff0c;从而绕过这些限制。 以…

Jupyter Notbook如何安装配置并结合内网穿透实现无公网IP远程连接使用

文章目录 推荐1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&am…

Apache—POI详解、小案例展示

简介&#xff1a;Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用POI在Java程序中对Miscrosoft Office各种文件进行读写操作。 目录 1、应用场景 2、案例代码 2.1 创建 Excel 文件 2.2 读取 Excel 文件 1、应用场景 …

java swing个人财务收支管理系统eclipse开发Mysql数据库CS结构java编程

一、源码特点 java swing 个人财务收支管理系统 是一套完善的窗体设计系统&#xff0c;对理解SWING java 编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;&#xff0c;系统主要采用C/S模式开发。 应用技术&#xff1a;javamysql 开发工具&#xf…

web APIs总结(1)

1. 根据CSS选择器来获取DOM元素 (重点&#xff09; 获取一个DOM元素我们使用谁&#xff1f;能直接操作修改吗&#xff1f;querySelector() 可以返回值&#xff1a;CSS选择器匹配的第一个元素,一个 HTMLElement对象。如果没有匹配到&#xff0c;则返null 获取多个DOM元素我们使…

有时导数据代码比写SQL要快很多

一、背景 接到一个数据需求&#xff0c;是从我们的Mongo中导出的&#xff0c;但要取的值得到很深的层级&#xff0c;尝试写了半天Mongo的查询查不出来&#xff0c;问了半天大模型给的也不对&#xff0c;于是考虑写代码的方式 二、数据格式 // 1 {"_id": ObjectId(&…

FastAPI+Sqlalchemy执行【Mysql】原生sql

一. 前言 当有的复杂sql 用orm不好写出来的时候&#xff0c;此时想要用原生sql查询 原生sql查询&#xff0c;查出的结果是对象原生sql查询&#xff0c;查询结果列表套元组 当你使用 SQLAlchemy 并希望通过创建的 session 对象来执行原生 SQL 语句时&#xff0c;可以使用 ses…

考研数学|张宇《1000题》做不下来怎么办?

不要害怕,你绝对可以做下来&#xff01; 1000题分为基础题和难题&#xff0c;基础题做题来还好&#xff0c;但是难题就有点偏和怪了&#xff0c;这是大部分考研人对于1000题的一致评价。 我觉得你可以这么做&#xff1a; 基础阶段可以做1000里面比较基础&#xff0c;简单的题…

ReLU Strikes Back: Exploiting Activation Sparsity in Large Language Models

iclr 2024 oral reviewer 评分 688 1 intro 目前LLM社区中通常使用GELU和SiLU来作为替代激活函数&#xff0c;它们在某些情况下可以提高LLM的预测准确率 但从节省模型计算量的角度考虑&#xff0c;论文认为经典的ReLU函数对模型收敛和性能的影响可以忽略不计&#xff0c;同时…

SAP SD学习笔记03 - SD模块中的主数据

上一章讲了SD中的组织单位和SD的简单流程。 SAP SD学习笔记02 - 销售流程中的组织单位-CSDN博客 SAP SD学习笔记01 - 简单走一遍SD的流程&#xff1a;受注&#xff0c;出荷&#xff0c;请求-CSDN博客 这一章讲SD中的主数据&#xff1a; - 得意先Master&#xff08;客户&…

从最适合自己的地方学习

1&#xff09;一个人的学习行为&#xff0c;其实就是对新事物的认知由浅入深的过程。在这个过程中&#xff0c;一个人要高效地进行这个过程需要什么呢&#xff1f;全神贯注&#xff0c;反复琢磨。 2&#xff09;有什么东西能够让自己全神贯注&#xff0c;不惜反复琢磨&#xff…

LeetCode404:左叶子之和

题目描述 给定二叉树的根节点 root &#xff0c;返回所有左叶子之和。 代码 class Solution { public:int getLeftSum(TreeNode* node, int& sum) {if (node nullptr || (node->leftnullptr &&node->rightnullptr)) return 0;if (node->left) getLeftS…

企业营销线索溯源:拒绝合规风险!

天眼销的线索溯源功能已经上线一段时间了。 溯源功能主要是查找从天眼销下载的企业营销线索的来源&#xff0c;通过输入相应的数据&#xff0c;就能查到该营销线索的来源网站。 虽然我们在所有的宣传介绍都表明我们的数据都是从公开渠道获取的&#xff0c;但是还是有很多用户会…