分享好友 最新动态首页 最新动态分类 切换频道
数据结构实验四在线等价类排序输出
2024-12-29 09:14
  1. 使用模拟指针实现本实验。
  2. 输入一个1-9的正整数n,代表要创建n个元素,例如输入5,则代表创建一个1,2,3,4,5组成的元素表。
  3. 再输入一个大于0正整数r,代表后面要输入r个等价关系。
  4. 分行输入r个等价关系,格式如(1,2)。
  5. 分行输出所有等价类,一个等价类的元素由小到大依次输出。例如等价类(1,3,5,2,4),输出时排序输出(1,2,3,4,5)。
  6. 如果输出不是由小到大顺序输出,解决办法很多,可以创建一个n*n的数组,一行存放一个等价类,将所有等价类放入数组,对数组每一行元素进行排序,输出数组所有元素。
 

这是一段在csdn上cv的代码,关于我在抄袭的过程中学到了什么

简单捋一下思路:创造n个的链表,其中包含三个元素,等价类的标识符,链表长度,指针next,首先将n个元素分别放置在相应的等价类中,接下来读入输入的数对,进行等价类的合并。假如输入的数字是(x,y,首先要确定标识符的顺序,假定n1与n2是代表两个等价类的标识符,则用n1来表示较小的那一个,接下来的工作是将第二个等价类中的元素依次插入第一个等价类中,该过程中使用一个指针,假设为k,指向n2中第一个元素,n1中也将数组指针指向不大于n2中所指元素的数字,然后进行插入操作,插入过程中第二个链表会出现断连,此时需要用temp存储一下n2中元素的下一位,插入一个元素后,将指针k和数组指针均往后移动一位,移动插入过程中,若第一个链表的next为空,则将n1中第一个元素指向n2中此时所指的元素,若第二个链表的next为空,则使n2的元素的next指向n1中所指元素的next,即可实现等价类的排序合并。

while中条件的意思是如果n1后面还有元素,且n2中还有元素没有插入,则仍需要进行插入排序

if中条件的意思是如果n1中没有元素了,但是n2中还有元素,则直接将n2中元素接在n1后面即可。

设置标识符的意义就在于给出一个元素,就可以直接知道这个元素的等价类,且等价类的标识符使用的是最小元素的值,这样输出的时候就可以避免重复输出,只输出本元素在本等价类这样的等价类即可。

最后还需要提及的一个小点是读入输入的数对时需要提取数字,此时用到了string。

浅谈一下课本上对在线等价类输出的想法:用到了递归

最新文章
百度推广全攻略,高效优化策略,助力品牌价值飞跃
本文全面解析了优化百度推广策略,通过精准关键词、高质量内容、数据分析等多维度手段,助力企业实现品牌价值最大化。从定位策略到效果监控,提供实战技巧,助您在激烈的市场竞争中脱颖而出。在互联网时代,百度作为最大的搜索引擎,拥有庞
用简单程序替换 MySQL 窗口函数
A 1 set @i1=null, @i2=0, @i3=0, @d1=null; 2 select curr_month, t1.province, curr_sales, sale_rank,if(count1, (sale_rank-1)/(count-1), 0) as `percent_rank` from (select prev_month, curr_month, province, @i2:=if(p
推荐给你三款主流Docker可视化工具
1 前言Docker 提供了命令行工具来管理 Docker 的镜像和运行 Docker 的容器。我们也可以使用图形工具来管理 Docker。目前,主流的 Docker 图形工具有 Docker Ul、Portainer 和 Shipyard。基于 Spring Boot + MyBatis Plus + VueElement 实现
江西历年考研报名人数
作为考研党的一员,我们都知道江西考研历年报名人数统计是我们关注的重点之一。每年的考研报名人数都直接影响到我们的竞争压力和录取概率,因此及时了解江西考研历年报名人数统计数据对于我们制定合理的备考策略至关重要。**江西考研历年报
菜单路由
前端项目基于 vue-element-plus-admin 实现,它的 路由和侧边栏是组织起一个后台应用的关键骨架。 侧边栏和路由是绑定在一起的,所以你只有在 @/router/index.js下面配置对应的路由,侧边栏就能动态的生成了,大大减轻了手动重复编辑侧边栏
怎么做抖音短视频seo排名优化?效果怎么样?
抖音作为当下最流行的短视频平台之一,拥有庞大的用户基础和广阔的市场潜力。在这个竞争激烈的平台上,如何进行短视频的SEO排名优化成为了许多创作者和营销人员关注的重点。本文将介绍如何进行抖音短视频的SEO排名优化,以及其效果和一些系
绿色清理管家
绿色清理管家app是一款专业的手机垃圾清理软件,能够有效解决手机使用过程中的一切卡顿、耗电、内存不足等问题,一键清理加速,让你的手机更畅快。有需要的欢迎下载使用!绿色清理管家是一款通过手机加速、垃圾清理、超强省电以及CPU降温等
现代领动1.6l自动精英型怎么操作
1、熄火开关没开,熄火线短路。缺机油保护器自动保护。2、传感器:拔掉机油传感器连接线,汽油机能启动的换机油传感器。3、点火系统问题:拔掉火花塞空拉启动,观察火花情况,火花为白红色正常若无火花就换火花塞或点火器。4、供油系统1、
董定虎详析福彩3D和排列3投注技巧:交集处理大底
  所谓大底,就是指运用软件将各自的数据、图表、条件等转化为能保证中直选的一定注数的号码。在制作大底时,一般情况下未进行任何过滤前,大底的注数为1000注,也可称为原始大底。   大底的作用--随着博彩技术的不断发展,除了定位
快看!一张图竟然完美解释了DNS工作原理
掌握 DNS 流程:数字连接的支柱。域名系统 (DNS) 是互联网的隐形引擎,将人类可读的域名转换为机器可理解的 IP 地址。这个高效的系统可以在后台实现无缝的网络导航,确保顺畅的连接。DNS 解析的实际应用:查询启动:用户输入域名,从其设备
相关文章
推荐文章
发表评论
0评