数据结构学习笔记(2)线性表

数据结构实现下列函数:void InsertSort(SqList &L); 试以L.r[k+1]作为监视哨改写教材10.2.1节 中给出的直接插入排序算法。其中,L.r[1..k]为待排 序记录且k<MAXSIZE。 实现下列函数: void InsertSort(SqList &L); 立即下载

  1 ================
  2 线性表及其基本运算:
  3     1。线性表(linear_list),n个数据元素的有限序列,记为:L=(a1, a2, ..., an)。
  4     定义:linear_list=(D,R)
  5           D={ai|ai ∈ D0, i=1,2,...,n, n>=0} D0表示相同的数据对象。
  6           R={N}, N={<a(i-1), ai>|a(i-1),ai∈D0, i=1,2,3,...,n}
  7
  8     2.基本运算
  9     void initiate(L) 初始化操作
 10     int length(L) 求长度
 11     elm get(L, i) 若i∈[1,n]返回一个第i个数据元素,i叫L的位序。
 12     elm prior(L, elm) 求前驱
 13     elm next(L, elm) 求后继
 14     int locate(L, x) 返回0,或第一次出现的位序。
 15     void inserte(L, i, b)  前插操作i∈[1,n+1]
 16     void delete(L, i) 删除操作i∈[1,n]
 17     beloon empty(L) 判空操作
 18     void clear(L) 置空表操作
 19
 20     3.例子
 21     (1)求两个集合的并,即A=A∪B
 22         I.依次从Lb中取出数据d。
 23         II.判度d在La中是否存在。
 24         III.若不存在,则插入到La中。
 25
 26         //归并两个集合La, Lb
 27         linear_list A∪B(linear_list La, linear_list Lb){
 28             int elm_b, loc;
 29             int n = length(La);
 30             //在Lb中取数据,插入到La中。
 31             for(int k = 0; k < length(Lb); ++k){
 32                 elm_b = get(Lb, k);
 33                 loc = locate(La, elm_b);
 34                 //判断loc在La中是否存在
 35                 if(loc = -1){
 36                     insert(La, n+1, elm_b);
 37                 }
 38                 ++n;
 39             }
 40             return La;
 41         }
 42
 43
 44         //归并两个有序线性表(不含有相同元素)
 45         I.安顺序分别取La,Lb中的元素得到较小的插入Lc,La指针后移,Lb指针不动,再次
 46         比较,这样反复进行插入。如果比较两个值相等,同时移动两个指针。直到某一个
 47         表结束。
 48         II.
 49         III.
 50         IV.
 51         liear_list AUB(liear_list La, liear_list Lb, liear_list Lc){
 52             int a = 0, b = 0, c = -1;
 53             //取La|Lb中的元素插入到Lc中
 54             while(a < length(La) && b < length(Lb)){
 55                 if(get(La, a) < get(Lb, b)){
 56                     insert(Lc, c+1, get(La, a));
 57                     a++;
 58                     c++;
 59                 }else if(get(La, a) == get(Lb, b)){
 60                     insert(Lc, c+1, get(La, a));
 61                     a++;
 62                     b++;
 63                     c++;
 64                 }else{
 65                     insert(Lc, c+1, get(Lb, b));
 66                     c++;
 67                     b++;
 68                 }
 69             }
 70             while(a < length(La)){
 71                 insert(Lc, c+1, get(La, a));
 72                 c++;
 73                 a++;
 74             }
 75             while(b < length(Lb)){
 76                 insert(Lc, c+1, get(Lb, b));
 77                 c++;
 78                 b++;
 79             }
 80             return Lc;
 81         }
 82         /*算法分析:语句频度:length(La)+length(Lb)-相同元素的个数
 83          *时间复杂度:O(length(La)+length(Lb))
 84          *
 85          */
 86

lammps建模(电解液)opls-aa力场的基本流程 阅读详情

相关推荐

Camera | 瑞芯微rk3568平台MIPI-CSI驱动:从设备树到V4L2框架的完整链路解析

本文深入解析瑞芯微rk3568平台MIPI-CSI驱动的完整链路,从设备树配置到V4L2框架集成。详细介绍了rk3568的MIPI-CSI驱动架构、设备树关键节点布局、驱动初始化流程及数据流路径,帮助开发者快速掌握摄像头控制器的调试与优化技巧,实现稳定的视频采集系统。

weixin_28703489的博客 289

数据结构--顺序表

数据结构——顺序表

m0_62667299的博客 1222

从CORDIC到DDS:手把手拆解《Verilog传奇》第9章的实战项目(附可跑通的代码)

本文详细解析了如何从CORDIC算法到DDS系统的完整实现过程,基于《Verilog传奇》第9章的实战项目,提供了可运行的Verilog代码。内容涵盖CORDIC算法的硬件实现、DDS系统架构设计、完整系统集成与验证,以及实际部署中的性能调优技巧,适合数字IC和FPGA开发者深入学习。

weixin_42623010的博客 413

单链表的插入操作ListInsert

单链表的插入操作思路代码 思路 1.判断这个位置是否合理 2.更改指针指向 代码 去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片. /*初始条件:顺序线性表L已经存在,1<=i<=ListLength(L)*/ /*操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1 */ Status ListInsert(LinkList *L,int i,E...

litang318的博客 4093

用STM32手搓一个体温计

市面上大多额温计、测温计精度。

m0_61687959的博客 2375

Paho Asynchronous MQTT C Client Library--MQTTAsync API

异步MQTT 客户端库for C

yoyo勰的博客 1264

2、数据结构与算法 - 线性表

大纲: 1、线性表-关于顺序存储的实现(增删改查) 2、线性表-关于链式(单链表)存储的设计(增删改查与头插法/尾插法) 线性表 1、顺序表 对于非空的线性表和线性结构,其特点如下: 存在唯一的一个被称作“第一个”的数据元素; 存在唯一的一个被称作“最后一个”的数据元素; 除了第一个之外,结构中的每个数据元素均有一个前驱 除了最后一个之外,结构中的每个数据元素都有一个后续。 ...

shengdaVolleyball的博客 822

不会路由器叠加多条宽带?看这个就够了,能让你的局域网速度更快!

通常我们在企业网络或实际项目中,随着用户的增加,一条或者几条带宽不能满足正常使用,便可以对带宽进行叠加,便于网络带度更快;通常家里有可能有两条带宽的,联通或移动的,可能都是充话费送的,但网速都不怎么样,不用可惜,用之委屈,那怎么办呢?如在迅雷上开启下载,多个资源同时下载,此时总带宽可以达到120M,也就是WAN口带宽可以叠加。多wan口路由器, 一般是有2个wan口,分别为wan1与wan2。当然也有更多的wan口的。[1] 对整个局域网来说,出口带宽数量多了,相当于总带宽上升,这样是可以起到叠加效果。

qq_43416206的博客 1111

数据结构

数据结构中链表的增删改查

小气鬼Sweet的博客 457

Unity零基础到入门 ☀️| 【UI系统学习】认识Unity引擎中几种最常用 UI系统,这一篇文章就够用了!

轻松学会 Unity 的 UGUI基础控件 使用 Unity中的UI介绍 UI即User Interface(用户界面)的简称。泛指用户的操作界面,UI设计主要指界面的样式,美观程度。而使用上,对软件的人机交互、操作逻辑、界面美观的整体设计则是同样重要的另一个门道。好的UI不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。 据我所知Unity中有两种自带的UI,一种是UGUI,一种是GUI Legacy GUI:旧版 UI,只有两个组件:文字和图片,配合鼠标事件来

努力前行,总会成为自己心中的那道光 2万+

基于VisionMaster实现数据实时存储至MySQL (二)

摘要:之前的分享主要聚焦于简单的一维数据实时存储。但在做缺陷检测项目时,情况往往更加复杂:一张检测图像中可能同时存在多个缺陷,每个缺陷都有一组独立的核心参数(如质心、长短轴、面积等)。如何在 MySQL 中记录这些成组出现的缺陷数据,而不只是简单的单条记录?

haier123888的博客 226

数据结构学习笔记——第2章 线性表

数据结构学习笔记——第2章 线性表2 线性表2.1 线性表的定义和基本操作2.1.1 线性表的定义2.1.2 线性表的基本操作2.2 线性表的顺序表示2.2.1 顺序表的定义2.2.2 顺序表上基本操作的实现2.3 线性表的链式表示2.3.1 单链表的定义2.3.2 单链表上基本操作的实现2.3.3 双链表2.3.4 循环链表2.3.5 静态链表2.3.6 顺序表和链表的比较

foxlin1116的博客 512

PSINS工具箱学习(四)捷联惯导更新算法

原始 Markdown文档、Visio流程图、XMind思维导图见:https://github.com/LiZhengXiao99/Navigation-Learning。

实践出真理,接毕设/课设项目开发指导 606

线性表·数据结构的江湖修行手札2【数据结构学习笔记】

江湖味线性表学习笔记

melanie_fay的博客 502

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

《数据结构》学习笔记(2)——线性表

一:定义 线性表是零个或多个数据元素的有限序列。 线性表元素的个数n (n&amp;amp;amp;gt;0)定义为线性表的长度,当n=0时,称为空表。 二:特点 数据元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。 数据元素个数是有限的。 数据元素的数据类型相同。 数据元素之间是一对一的关系。 三:抽象数据类型 InitList (*L):初始化橾...

小浩的博客 1196

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

数据结构学习笔记(2)——线性表

线性表 1 定义 线性表(List): 零个或多个数据元素的有限序列 表中元素个数称为线性表的长度 线性表没有元素时,称为空表 表起始位置称表头,表结束位置称表尾 2 抽象数据类型 ADT 线性表(List) data 线性表的数据时象集合为{a1,a2...an},每个元素的类型均 为DataType。其中.除第一个元素a1外,每一个元素有且只 有一个前驱元素.除了最后一个元素an.外,每一个元素有且 只有一个后继元素。数据元素之间的关系是一对一的关系。 Operati

Chris683的博客 433

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

数据结构学习笔记——2.线性表及实现

二、线性表 引例:多项式的保存 方法一:顺序存储结构直接表示 用数组来保存系数,下标作为指数 缺点:当系数中含有0时,数组占用空间大且做无效运算 方法二:顺序存储结构表示非零项 用结构数组同时保存系数和指数 多项式相加过程:将两个多项式用指数递降的顺序储存,依次比较首项的幂大小,相同就相加,不同就输出指数高的,然后再依次用小的一项比较另一个多项式的第二项 方法三:链表结构存储非零项 链表中每个节点...

qq_43441078的博客 289

数据结构学习笔记(2线性表)

数据结构学习笔记 绪论 1.一些概念 数据对象:是具有相同性质的数据元素的集合,是数据的一个子集。 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。 2.数据结构的三要素 (1)逻辑结构 集合:各个元素同属一个集合,别无其他集合。 线性结构:数据元素之间是一对一的关系。除了第一个元素,所有元素都有唯一前驱;除了最后一个元素,所有元素都有唯一后继。 树形结构:数据元素之间是一对多的关系。 图结构:数据元素之间是多对多的关系。 (2)数据的运算 针对于某种逻辑结构,结合实际需求,定义基本运算。 (3

欢迎光临失去理智(sxhthreo)的博客~ 688

数据结构学习笔记Day2-线性表

1、思考问题 顺序表用C语言应该如何表达? 2、内容 2.1 线性表的基本概念——一种逻辑结构

Sumarua的博客 495

Java数据结构与算法2-线性表学习笔记

Java数据结构与算法2-线性表学习笔记

qq_45498432的博客 452

[数据结构]学习笔记2:线性表(2)

线性表的链式存储结构 线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以存在内存中未被占用的任意位置。 比起顺序存储结构,每个数据元素只需要存储一个位置就可以了。现在链式存储结构中,除了要存储数据元素信息外,还要存储它的后继元素的存储地址(指针)。 也就是说除了存储其本身的信息外,还需要存储一个指示其直接后继的存储位置的信息。 我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域中存储的信息称为指针或链。这两部分信息组成数据元素称为存储映像,称

weixin_46285081的博客 451

数据结构学习笔记(2)——线性表及其实现

文章目录一、引入:多项式的表示二、线性表1.什么是线性表2.线性表的抽象数据类型描述3.线性表的顺序存储实现3.1结构定义3.2主要操作的实现3.2.1 初始化(建立空的顺序表)3.2.2查找3.2.3插入(第i个位置上插入一个值为X的新元素)3.2.4删除(删除表的第i$(1\leq i\leq n)$个位置上的元素)4.线性表的链式存储实现4.1主要思路4.2结构定义4.3主要操作实现4.3....

Alisa_ljn的博客 839

《数据结构》(C语言版)ch2 线性表学习笔记

一个小目录《数据结构》(C语言版)ch2 线性表学习笔记数组篇1.malloc()2.线性表宏定义3.init初始化与以前静态数组初始化区别4.函数作为参数 《数据结构》(C语言版)ch2 线性表学习笔记 数组篇 1.malloc() https://blog.youkuaiyun.com/flowing_wind/article/details/81240910 malloc()分配内存后不初始化 分配成功: 若分配成功,其返回类型是void ,表示未确定类型的指针,c,c++规定void可以强转为任何其他类型的指针

xiangzi05的博客 436

408学习笔记-数据结构-2-线性表

2、线性表是一种逻辑结构,属于总线性结构——,而不考虑元素究竟表示什么内容。除了表头元素,每个元素都有一个。除了表尾元素,每个元素都有一个。(6)线性表中的第一个元素叫。,每个元素都是单个元素。3、线性表定义:具有。

m0_61968622的博客 328

数据结构与算法学习笔记-线性表(2)

2.2线性表的实现 2.2.1线性表的顺序存储 顺序存储:把线性表的结点按逻辑顺序依次存放在一组地址连续的存储单元里。 用这种方法存储的线性表简称顺序表 顺序存储的线性表的特点: 线性表的逻辑顺序与物理顺序一致; 数据元素之间的关系是以元素在计算机内“物理位置相邻”来体现。 设每个元素需占用/个存储单元,以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表中第i+1个数据元素的存储...

Cris_0525的博客 891

算法和数据结构学习笔记(2)——线性表

线性表(List)的定义 线性表:由零个(0个元素的情况是空表)或多个数据元素组成的有限序列。 需要强调的几个关键地方: 是一个有先来后到的有限序列。 有多个元素的时候,第一个元素没有前驱,最后一个没有后继。其他元素都只有一个前驱和后继。 因为要马上要涉及线性表的抽象数据类型,所以先认识一下抽象数据类型。 抽象数据类型 先来了解一下数据类型的定义:是指一组性质相同的值的集合以

monkey2016的博客 829
上一篇: 操作系统学习笔记(16) 存储管理-程序装入内存技术
下一篇: 数据结构学习笔记(3)线性表-顺序映像
deep_explore
博客等级 码龄16年 54粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值