顺序表-线性表的顺序表示

线性表

顺序表-线性表的顺序表示

#include <stdio.h>// 顺序表的大小
#define MaxSize 50
// 数据类型
typedef int ElemType;
// 静态分配
// 此处可以不用给结构体起名称 使用时直接用别名即可
typedef struct {// 数组ElemType data[MaxSize];// 当前顺序表中元素个数int length;
} SeqList;/** 插入操作*/
bool list_insert(SeqList &L, int pos, ElemType elem) {// 判断位置是否合法if (pos < 1 || pos > L.length) {return false;}// 判断是否超过空间if (L.length >= MaxSize) {return false;}// 往后移动顺序表中的元素for (int j = L.length; j >= pos; j--) {L.data[j] = L.data[j - 1];}// 存入元素 第pos个位置下标为pos - 1L.data[pos - 1] = elem;// 顺序表长度加1L.length++;return true;
}/** 打印顺序表*/
void print_seq_list(SeqList L) {for (int i = 0; i < L.length; i++) {printf("%3d", L.data[i]);}printf("\n");
}/** 删除操作*/
bool list_delete(SeqList &L, int pos, ElemType &elem) {// 判断位置是否合法if (pos < 1 || pos > L.length) {return false;}// 被删除的元素elem = L.data[pos - 1];// 往前移动顺序表中的元素for (int i = pos; i < L.length; i++) {L.data[i - 1] = L.data[i];}// 顺序表长度减1L.length--;return true;
}/** 查找元素的位置*/
int locate_elem(SeqList L, ElemType elem) {for (int pos = 0; pos < L.length; pos++) {if (elem == L.data[pos]) {// pos是数组下标// pos + 1才是元素位置return pos + 1;}}// 未找到return 0;
}int main() {// 一、创建顺序表SeqList L;// 手动赋值L.data[0] = 1;L.data[1] = 2;L.data[2] = 3;// 顺序表元素个数L.length = 3;bool ret;// 二、插入操作// 顺序表第2个位置插入元素60ret = list_insert(L, 2, 60);if (ret) {printf("insert success\n");} else {printf("insert failed\n");}// 三、打印顺序表print_seq_list(L);// 四、删除操作ElemType del;ret = list_delete(L, 1, del);if (ret) {printf("delete success\n");printf("delete element = %d\n", del);} else {printf("delete failed\n");}// 五、查找元素的位置int pos;pos = locate_elem(L, 60);if (pos) {printf("locate element success\n");printf("element pos = %d\n", pos);} else {printf("doesn't loate element\n");}return 0;
}

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

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

相关文章

【Numpy】深入解析numpy中的ravel方法

NumPy中的ravel方法&#xff1a;一维化数组的艺术 &#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&#xff01;&#x1f387; &#x1f393; 博主简…

实现复杂树结构返回(不含子树), 并且结点间建立关联

&#x1f4a1; 一句话结&#xff1a; 实现传感器和深度及采集的数值动态对应&#xff0c;将不规则的数据转变成固定列头的一行行数据。 &#x1f511; 关键信息点&#xff1a; 通过传感器编号和深度将传感器对应的数值与时间建立关联。使用SpringBootMyBatis框架实现动态查询…

RSA算法加解密

RSA算法的加密过程如下&#xff1a; 选择两个大素数①p和q&#xff0c;计算它们的乘积np*q计算欧拉函数φ(n)(p-1)*(q-1)选择一个整数e&#xff0c;满足1<e<φ(n)&#xff0c;且e与φ(n)互质计算e关于φ(n)的模逆元d&#xff0c;即满足e*d mod φ(n) 1的整数d②公钥为(…

【设计模式深度剖析】【2】【结构型】【装饰器模式】| 以去咖啡馆买咖啡为例 | 以穿衣服出门类比

&#x1f448;️上一篇:代理模式 目 录 装饰器模式定义英文原话直译如何理解呢&#xff1f;4个角色类图1. 抽象构件&#xff08;Component&#xff09;角色2. 具体构件&#xff08;Concrete Component&#xff09;角色3. 装饰&#xff08;Decorator&#xff09;角色4. 具体装饰…

2024电工杯数学建模A题Matlab代码+结果表数据教学

2024电工杯A题保姆级分析完整思路代码数据教学 A题题目&#xff1a;园区微电网风光储协调优化配置 以下仅展示部分&#xff0c;完整版看文末的文章 %A_1_1_A % 清除工作区 clear;clc;close all;warning off; %读取参数%正常读取 % P_LOADxlsread(附件1&#xff1a;各园区典…

前端 CSS 经典:SVG 描边动画

1. 原理 使用 css 中的 stroke 属性&#xff0c;用来描述描边的样式&#xff0c;其中重要的属性 stroke-dasharray、stroke-dashoffset。理解了这两个属性的原理&#xff0c;才能理解描边动画实现的原理。 stroke-dasharray&#xff1a;将描边线变成虚线、其中实线和虚线部分…

小程序丨公告栏功能,自动弹出提醒

发布查询时&#xff0c;您是否遇到这样的困扰&#xff1a; 1、查询发布时间未到&#xff0c;学生进入查询主页后发现未发布任何查询&#xff0c;不断咨询原因。 2、有些重要事项需要进入查询主页就进行强提醒&#xff0c;确保人人可见&#xff0c;用户需要反馈“我知道了”才…

【openlayers系统学习】3.4波段数学计算(计算NDVI)

四、波段数学计算&#xff08;计算NDVI&#xff09; 我们已经看到了如何使用 ol/source/GeoTIFF​ 源代码来渲染真彩色和假彩色合成。我们通过将缩放的反射率值直接渲染到红色、绿色或蓝色显示通道中的一个来实现这一点。还可以对来自GeoTIFF&#xff08;或其他数据瓦片源&…

202112青少年软件编程(Python)等级考试试卷(四级)

第 1 题 【单选题】 Python 中函数不包括?( ) A :标准函数 B :第三库函数 C :内建函数 D :参数函数 正确答案:D 试题解析: 第 2 题 【单选题】 以下关于函数参数和返回值的描述,正确的是?( ) A :关键字传递是根据每个参数的名字传递参数,实参的顺序需要和形参…

算法模块方法总结(数组)

二分查找&#xff08;Binary Search&#xff09; 二分查找&#xff08;Binary Search&#xff09;是一种在有序数组&#xff08;必须是不能重复的&#xff0c;因为如果有重复的&#xff0c;会从几个符合的选项中输出一个&#xff0c;可能不合题意&#xff09;中查找某一特定元…

低成本复刻AI代理产品 - 优化方案概览

1、精简技术框架与理念升级 构建一个轻量级且高效的个人AI助手应用,集成了最新AI技术,旨在成为每位用户的“智慧副驾”,不仅管理个人知识库,还能实时互联全球信息,实现智能化信息检索与决策辅助。 2、精准定位与价值主张 定位为“个人智识力倍增器”,超越传统知识管理…

Day48 Javascript详解

Day48 Javascript详解 文章目录 Day48 Javascript详解一、什么是javascript二、javascript特点三、 Javascript的历史四、Javascript vs Java五、JS的基本数据类型六、JS基本数据类型的特殊点七、数组 一、什么是javascript JavaScript是一种高级的、解释型的编程语言&#xf…

发送http请求时,以form-data的格式作为requests的参数

1、使用requests的requests_toolbelt模块 &#xff0c;需要自行安装。 pip3 install requests-toolbelt from requests_toolbelt import MultipartEncoder import requestsm MultipartEncoder(fields{field0: value,field1: value,field2: (文件名称, open(文件地址/file.py…

cmake编译redis6.0源码总结

1配置clion使用cygwin模拟linux环境&#xff0c;先下载cygwin后配置 2导入源码&#xff0c;配置cmake文件 由于redis是基于Linux上的Makefile&#xff0c;所以Windows上需要配置CMakeLists.txt使用cmake工具编译运行。github上已经有人尝试编写CMakeLists.txt文件&#xff0c…

MCF-Microbial Cell Factories

文章目录 一、期刊简介二、征稿信息三、期刊表现四、投稿须知五、投稿咨询 一、期刊简介 Microbial Cell Factories 是一份开放的同行评审期刊&#xff0c;涵盖了与微生物细胞作为重组蛋白和天然产物的生产者或作为工业兴趣的生物转化的催化剂的开发、使用和研究相关的任何主题…

《Electron实战:入门、进阶与性能优化》目录汇总

前言 很早之前想学习的技术了&#xff0c;主要是可以用框架优化界面&#xff0c;嘿嘿(▽) 目录 认识Electron轻松入门主进程和渲染进程引入现代前端框架窗口界面数据系统通信硬件跳槽从安全发布自媒体内部发布工具 后记 持续更新

【学习笔记】Windows GDI绘图(四)矩阵Matrix详解

矩阵Matrix 基于矩阵在GDI绘图的重要性&#xff0c;所以想深入了学习矩阵的相关属性与方法。 先上个本文中所有的函数图例演示吧。 原型&#xff1a; namespace System.Drawing.Drawing2D;public sealed unsafe class Matrix : MarshalByRefObject, IDisposableMatrix类封装…

系统架构师-考试-基础题-错题集锦2

108.总线-全双工、半双工&#xff1a; 109.软件配置管理-产品配置&#xff1a; 产品配置&#xff1a;指一个产品在其生命周期各个阶段所产生的各种形式和各种版本的文档、计算机程序、部件及数据的集合。 注意&#xff1a;选项中的需求规格说明、设计说明等均可归属于文档。 …

Netty学习02----使用多线程优化Selector

背景前置 在单线程环境下&#xff0c;使用一个线程同时绑定多个事件&#xff1a;连接事件、读事件、写事件。不能充分发挥多核CPU的优势&#xff0c;考虑使用多个线程&#xff0c;每个线程专门负责处理不同的事件&#xff0c;如下图所示&#xff1a;一个线程专门负责连接&#…

“在线全文”“在线发表”的区别

在线全文&#xff1a;在网上可以看到全文,&#xff08;但不一定能检索到&#xff0c;有的时候&#xff0c;文章在网上可以搜到全文&#xff0c;但是不能被WOS期刊收录&#xff0c;不能出具检索证明&#xff09; 在线发表&#xff1a;在线发表一般是能检索到的。