二维坐标排序问题

gisupc 2012-04-17 08:46:58
各位网友,你们好!
我现在有一个有序坐标序列,该坐标序列可以是从西南到东北方向的,也可以是从南到北,现在在该线外有一点,我已经求得改点到线段的最短距离,对应的坐标点,想将该坐标插入到坐标序列中,请问大家有什么建议吗?谢谢!
...全文
354 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gisupc 2012-06-04
  • 打赏
  • 举报
回复
大家的建议都不错,是我对原始的需求理解错误,结贴给分!
nice_cxf 2012-04-18
  • 打赏
  • 举报
回复
在做一件不可能的事情
比如只有2点 (0,0),(2,2) ,插入(1,3)是根本无法满足条件的
muyi66 2012-04-18
  • 打赏
  • 举报
回复
按照你所说的坐标序列是“从西南到东北方向的,也可以是从南到北”,而且是在同一条线上。那你只要把Y坐标拿来比较就行了。
gisupc 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 rabbitlbj 的回复:]

建议LZ重载下两个坐标之间的less关系(就是重载<运算符),然后直接用stl的sort算法就解决了
[/Quote]
二维坐标直接比大小能行吗?
RabbitLBJ 2012-04-17
  • 打赏
  • 举报
回复
要不然LZ用set容器,自己定义下比较函数
muyi66 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

建议LZ重载下两个坐标之间的less关系(就是重载<运算符),然后直接用stl的sort算法就解决了
[/Quote]整个重排一遍?太浪费了吧?
RabbitLBJ 2012-04-17
  • 打赏
  • 举报
回复
建议LZ重载下两个坐标之间的less关系(就是重载<运算符),然后直接用stl的sort算法就解决了
muyi66 2012-04-17
  • 打赏
  • 举报
回复
既然坐标序列是有序的,你要在里面插入一个新坐标很容易啊?

如果是用数组保存的序列的话:二分查找找到插入点位置,然后把后面的坐标存储位置往后挪一个位置,空出来的位置填上新坐标。OK?

64,644

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧