NCF参数化建筑论坛

标题: 排序代码求助 [打印本页]

作者: licml    时间: 2011-3-21 10:19
标题: 排序代码求助
本帖最后由 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赋值给新的数组,这样,就得到点的排序了
    }
  }
作者: wind88922    时间: 2012-5-7 12:50
换一个思路吧~
作者: wind88922    时间: 2012-5-10 15:37
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参数化建筑论坛 (http://www.ncf-china.com/) Powered by Discuz! X3.2