乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 54|回复: 3

从左到右、从上到下对列表进行排序(按照标准阅读顺序)

[复制链接]

129

主题

422

帖子

5

银币

中流砥柱

Rank: 25

铜币
936
发表于 2016-7-27 00:40:42 | 显示全部楼层 |阅读模式
我花了很长时间才把这件事做好。我试过stackoverflow,但没有成功。
我正在尝试按阅读顺序对点集合进行排序。基本上我有矩形的中心坐标(质心),如图所示。我认为其中几个的x和y是相同的,这让事情变得复杂了。有什么办法可以解决我下面的尝试吗?



mypointlist = mypointlist。OrderByDescending(pnt => pnt。y)。然后By(pnt => pnt。x)。to list();

aoefswbomfy.jpg

aoefswbomfy.jpg

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2016-7-27 02:40:08 | 显示全部楼层
嗨,我没有看到你发布的代码有任何错误(至少是算法部分)。也许是准确性问题,请尝试舍入坐标:mypointlist = mypointlist。OrderByDescending(pnt => math.圆形(pnt.Y, 9))。ThenBy(pnt => Math.Round(pnt.X, 9))。ToList();假设 mypointlist 类型是 List你也可以使用 List,Sort() method (C# 6):us static System.Math;。
// ...。
我的点名表,排序((p1, p2) => 。
圆形(p1.Y, 9) == 圆形(p2.Y, 9) ?。
圆形(p1.X, 9)。CompareTo(Round(p2.X, 9)) : 。
圆形(p2.Y, 9)。CompareTo(Round(p1.Y, 9)));。
回复

使用道具 举报

129

主题

422

帖子

5

银币

中流砥柱

Rank: 25

铜币
936
发表于 2016-7-27 09:27:54 | 显示全部楼层
谢谢Giles...我来试试这个
回复

使用道具 举报

129

主题

422

帖子

5

银币

中流砥柱

Rank: 25

铜币
936
发表于 2016-7-27 22:18:27 | 显示全部楼层
你搞定了,贾尔斯,这就是问题所在。非常感谢你。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 16:51 , Processed in 0.227979 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表