求CAD下VBA代码
有一些坐标值,怎样通过比较求出X和Y坐标的最大最小值,谢谢,求大神们帮忙 有没有大神啊可用快速排序 gzxl 发表于 2016-4-21 21:34 static/image/common/back.gif
可用快速排序
能具体点说吗,如果有代码最好了,谢谢 本帖最后由 gzxl 于 2016-4-21 22:31 编辑
馨馨 发表于 2016-4-21 21:56 static/image/common/back.gif
能具体点说吗,如果有代码最好了,谢谢
按X最小或最大排序,用快速排序法(经典高效)
然后取第一个元素或最后一个元素就是想要的
VBA不太懂了,百度吧
这个是arx的void SortPointsOnX(AcGePoint2dArray &points, int left, int right)
{
AcGePoint2d firtPt, lastPt;
int rtemp, ltemp;
ltemp = left;
rtemp = right;
firtPt = points[(left + right) / 2]; // 分界值
while (ltemp < rtemp)
{
while (points.x < firtPt.x)
{
++ltemp;
}
while (points.x > firtPt.x)
{
--rtemp;
}
if (ltemp <= rtemp)
{
lastPt = points;
points = points;
points = lastPt;
--rtemp;
++ltemp;
}
}
if (ltemp == rtemp)
{
ltemp++;
}
if (left < rtemp)
{
SortPointsOnX(points, left, ltemp - 1); // 递归调用
}
if (ltemp < right)
{
SortPointsOnX(points, rtemp + 1, right);
}
} gzxl 发表于 2016-4-21 21:34
可用快速排序
大哥您那有横断面自动提取的lsp源码吗 能提供一份吗 麻烦了有的话 请发到1141235788@qq.com
页:
[1]