09 顺序表的修改操作

顺序表的修改操作

一、数据修改

modify

​ 操作的步骤:

​ 1)判断顺序表是否为空,如果没有数据,操作失败;

​ 2)判断修改位置是否合理,不合理则操作失败;

​ 3)将i位置中的数据修改成最新值。

int update(SQL_LIST *L, int i, ElementType e)
{// 判断是否是空表,如果空,操作失败if (L->length == 0){return 0;}// 判断修改的位置是否合理if (i < 1 || i > L->length){return 0;}// 将指定位置的元素修改为eL->data[i - 1] = e;return 1;
}int main()
{// 定义顺序表SQL_LIST list;// 对顺序表进行初始化init_list(&list);// 插入元素insert(&list, 1, 1);insert(&list, 2, 3);insert(&list, 3, 5);insert(&list, 4, 7);insert(&list, 5, 9);// 删除数据update(&list, 5, 99);// 展示顺序表show(&list);return 0;
}

二、完整代码

#include <stdio.h>#define MAX_SIZA 100
typedef int ElementType;typedef struct _sql_list {ElementType data[MAX_SIZA];int length;
} SQL_LIST; // 初始化函数
void init_list(SQL_LIST *L) {L->length = 0;
} // 判断是否为空表 
int is_empty(SQL_LIST *L) {return L->length == 0;
}// 遍历顺序表 
void show(SQL_LIST *L) {int i;for (i = 0; i < L->length; i++) {printf("%d", L->data[i]);if (i < L->length-1) {printf(", ");}else {printf("\n");}}
}// 插入数据
int insert(SQL_LIST* L, int i, ElementType e) {int j;// 判断顺序表是否已满,如果满了,操作失败if (L->length == MAX_SIZA) {return 0;}// 判断插入位置是否合理,如果不合理,操作失败if (i < 1 || i > L->length + 1) {return 0;}// 从最后一个元素开始向前到出入位置,将元素后移for (j = L->length - 1; j >= i - 1; j--) {L->data[j + 1] = L->data[j];}// 将e填入第i-1个位置L->data[i - 1] = e;// 顺序表长度加1L->length++;return 1;
}// 修改数据
int update(SQL_LIST *L, int i, ElementType e)
{// 判断是否是空表,如果空,操作失败if (is_empty(L)){return 0;}// 判断修改的位置是否合理if (i < 1 || i > L->length){return 0;}// 将指定位置的元素修改为eL->data[i - 1] = e;return 1;
}int main() {// 定义顺序表SQL_LIST list;// 对顺序表进行初始化init_list(&list);// 插入元素insert(&list, 1, 1);insert(&list, 2, 3);insert(&list, 3, 5);insert(&list, 4, 7);insert(&list, 5, 9);// 修改元素update(&list, 1, 0);// 展示顺序表show(&list);return 0;
}

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

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

相关文章

深度学习⑨GANs

Discriminative and Generative Models Deep learning中主要两种模型 判别模型专注于从输入预测输出,例如分类任务。学习数据点和标签之间的特征 生成模型则试图理解数据是如何产生的,能够生成新的数据样本。理解数据分布和是否可以被预测 Quiz time: Discriminative mo…

区块链技术在供应链管理中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 区块链技术在供应链管理中的应用 区块链技术在供应链管理中的应用 区块链技术在供应链管理中的应用 引言 区块链技术概述 定义与…

CelebV-Text——从文本生成人脸视频的数据集

概述 近年来&#xff0c;生成模型在根据文本生成和编辑视频方面受到了广泛关注。然而&#xff0c;由于缺乏合适的数据集&#xff0c;生成人脸视频领域仍然是一个挑战。特别是&#xff0c;生成的视频帧质量较低&#xff0c;与输入文本的相关性较弱。在本文中&#xff0c;我们通…

【重学 MySQL】八十二、深入探索 CASE 语句的应用

【重学 MySQL】八十二、深入探索 CASE 语句的应用 CASE语句的两种形式CASE语句的应用场景数据分类动态排序条件计算在 SELECT 子句中使用在 WHERE子句中使用在 ORDER BY 子句中使用 注意事项 在MySQL中&#xff0c;CASE 语句提供了一种强大的方式来实现条件分支逻辑&#xff0c…

基于卷积神经网络的农作物病虫害识别系统(pytorch框架,python源码)

更多图像分类、图像识别、目标检测等项目可从主页查看 功能演示&#xff1a; 基于卷积神经网络的农作物病虫害检测&#xff08;pytorch框架&#xff09;_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于卷积神经网络的农作物病虫害识别系统是在pytorch框架下实现的…

VLAN 高级技术实验

目录 一、实验背景 二、实验任务 三、实验步骤 四、实验总结 一、实验背景 假如你是公司的网络管理员&#xff0c;为了节省内网的IP地址空间&#xff0c;你决定在内网部署VLAN聚合&#xff0c;同时为了限制不同业务之间的访问&#xff0c;决定同时部署MUX VLAN。 二、实验…

Windows下mysql数据库备份策略

Windows下mysql的增量备份和全量备份&#xff0c;并利用schtasks设置定时任务执行bat脚本。 一、备份要求 序号 备份类型 备份频次 备份时间 1 增量备份 每周一-每周六各一次 18:00:00 2 全量备份 每周日一次 18:00:00 二、备份方法 2.1增量备份 2.1.1准备工作…

数据结构-并查集专题(1)

一、前言 因为要开始准备年底的校赛和明年年初的ACM、蓝桥杯、天梯赛&#xff0c;于是开始按专题梳理一下对应的知识点&#xff0c;先从简单入门又值得记录的内容开始&#xff0c;并查集首当其冲。 二、我的模板 虽然说是借用了jiangly鸽鸽的板子&#xff0c;但是自己也小做…

算法每日练 -- 双指针篇(持续更新中)

介绍&#xff1a; 常见的双指针有两种形式&#xff0c;一种是对撞指针&#xff08;左右指针&#xff09;&#xff0c;一种是快慢指针&#xff08;前后指针&#xff09;。需要注意这里的双指针不是 int* 之类的类型指针&#xff0c;而是使用数组下标模拟地址来进行遍历的方式。 …

qt QListView详解

1、概述 QListView 是 Qt 框架中的一个视图类&#xff0c;用于展示模型中的数据。它基于 QAbstractItemView&#xff0c;支持多种视图模式&#xff0c;如列表视图&#xff08;List View&#xff09;、图标视图&#xff08;Icon View&#xff09;等。QListView 是模型/视图框架…

数据集市是什么?有什么优势?

一、数据集市是什么&#xff1f; 1、数据集市的产生背景&#xff1a; 因为数据仓库的工作范围和成本比较巨大&#xff0c;技术部门必须对所有的以全企业的眼光对待任何一次决策分析&#xff0c;这样就变成了成本高、耗时高的大项目&#xff0c;而且这种集中式的数据处理方式往往…

apk因检测是否使用代理无法抓包绕过方式

最近学习了如何在模拟器上抓取APP的包&#xff0c;APP防恶意行为的措施可分为三类&#xff1a; &#xff08;1&#xff09;反模拟器调试 &#xff08;2&#xff09;反代理 &#xff08;3&#xff09;反证书检验 第一种情况&#xff1a; 有的app检验是否使用系统代理&#xff0c…

TDengine 签约蘑菇物联,改造通用设备工业互联网平台

在当前工业互联网迅猛发展的背景下&#xff0c;企业面临着日益增长的数据处理需求和智能化转型的挑战。通用工业设备的高能耗问题愈发突出&#xff0c;尤其是由这些设备组成的公辅能源车间&#xff0c;亟需更高效的解决方案来提升设备运行效率&#xff0c;降低能源消耗。为此&a…

Python怎么查看编码

在读取中文的情况下&#xff0c;通常会遇到一些编码的问题&#xff0c;但是首先需要了解目前的编码方式是什么&#xff0c;然后再用decode或者encode去编码和解码&#xff0c;下面是使用chardet库来查看编码方式的。 import chardet path "E:/t.csv" #path "E…

sqoop Oracle 导入到hive 日期时间消失

sqoop脚本&#xff1a; sqoop import -D mapred.job.queue.namehighway \ -D mapreduce.map.memory.mb4096 \ -D mapreduce.map.java.opts-Xmx3072m \ --connect "jdbc:oracle:thin://localhost:61521/LZY2" \ --username LZSHARE \ --password 123456 \ --query &q…

[产品管理-59]:项目组合中产品或项目的类型分类

目录 一、概述 1、突破型项目&#xff1a;全新产品&#xff0c;颠覆性产品 2、平台型项目&#xff1a;平台产品 3、衍生型项目&#xff1a;衍生出来的新产品&#xff0c;不同于现有产品&#xff0c;但与现有产品有关联 4、支持性项目&#xff1a;现有产品的改进&#xff0…

第2章立项-2.4如何进行立项评审?

2.4 如何进行立项评审&#xff1f; 2.4 如何进行立项评审&#xff1f;2.4.1 立项沟通不充分会带来的问题2.4.2 让大家都参与到立项评审中发表意见 2.4 如何进行立项评审&#xff1f; 研发项目不仅仅和研发相关&#xff0c;而且跟采购、工艺、制造、销售、市场都相关。如果相关…

基于vue3实现的聊天机器人前端(附代码)

<template><div class"container"><!-- 页面头部 --><header><h1>跟它说说话吧&#xff01;</h1><p>一个活泼的伙伴&#xff0c;为你提供情感支持&#xff01;</p></header><!-- 聊天容器 --><div c…

【安卓13 源码】Input子系统(4)- InputReader 数据处理

1. 多指触控协议 多指触控协议有 2 种&#xff1a; > A类&#xff1a; 处理无关联的接触&#xff1a; 用于直接发送原始数据&#xff1b; > B类&#xff1a; 处理跟踪识别类的接触&#xff1a; 通过事件slot发送相关联的独立接触更新。 B协议可以使用一个ID来标识触点&…

Windows Server 怎么关闭IE增强安全配置(关闭IE弹窗)

首先第一步打开IE浏览器&#xff0c;根据下图所示&#xff0c;访问网页时会弹出警告窗口。 打开【控制面板】图标。查看方式改为小图标&#xff0c;打开【管理工具】 第五步进入【管理工具】页面后&#xff0c;找到并双击【服务器管理器】选项。 第六步在弹出的窗口中&#…