我试图找到具有最小距离((x1,x2)和(y1,y2)距离= abs(y2-y1)+ abs的元组(一个或多个) (x2-x1),例如:在HASKELL中找到最少的元组列表
列表将是[(1,2),(3,4),(5,4),(5,6),(9, 12)]
和该特定点是(XPOS,ypos)=(4,4)。
然后我的函数应该返回[(3,4),(5,4)]。我试图实现这一点,但我有一种问题,我认为这是与bas有关电子情况。有没有人可以帮助我?
disSolver xpos ypos coor = abs (xpos - (fst coor)) +abs(ypos-(snd coor))
closestTuple _ _ [] =[]
closestTuple xpos ypos (x:y:xs) = if (disSolver xpos ypos x)<= (disSolver xpos ypos y)
then [x] ++ closestTuple xpos ypos (xs)
else closestTuple xpos ypos (y:xs)
在此先感谢!
非常感谢,我意识到我的错,但我已经发布了,所以我不能:(机会,再次感谢。 – 2013-03-24 11:17:07