NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 9480|回复: 2
打印 上一主题 下一主题

[在线求助] 排序代码求助

[复制链接]
跳转到指定楼层
1m
发表于 2011-3-21 10:19:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 licml 于 2011-3-21 10:25 编辑

思路:希望按照x方向的大小为选择的点排序:可是,排序后,怎么根据x坐标值大小来把点对应上?按照下列代码出来,每次只能得到一个点,而不是6个点。不知道问题出在哪?(为了方便查看,就不写排序过程,把点的x坐标直接写出来了)

--------------------------------------------------
float $v[]={5,1,3,6,10,2};     //选择点的x坐标
float $v1[]={5,1,3,6,10,2};   //
float $v2[]={1,2,3,5,6,10};   //x坐标排序后

float $f[];

int $i=0;
int $j=0;
for (; $i < 6; $i++)
  {
  $lic=$v1[$i];
  for(; $j < 6; $j++)
    {
if ($v2[$j]==$lic)      //
$f[$j]=$v[$i];          //$v1中某个点x值等于$v2的某个值时,把对应的$v赋值给新的数组,这样,就得到点的排序了
    }
  }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享
2m
发表于 2012-5-7 12:50:53 | 只看该作者
换一个思路吧~
3m
发表于 2012-5-10 15:37:10 | 只看该作者
python的做法思路:
ax=[5,1,3,6,10,2]    #选择点的x坐标
ay=[4,3,2,8,9,1]    #选择点y的坐标
az=[1,2,3,4,5,6]   #选择点z的坐标

dic=zip(ax,ay,az)
lst=sorted(dic,lambda i:i[0])  #i[0]里面的0是x排序,1是对y排序,2是对z排序

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-11-22 12:24 , Processed in 0.135810 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表