Java 我无法使我的天际线算法正确使用我的“删除”方法并删除我列表中所有正确的点(包含点的列表)
。。。。。。。。。 我已经列出了一个随机双精度数字列表。我的Main调用了一个算法,并以我自己的方式使用了一个skyline算法。在我的关于ListDoublePoints的课程中,我有一个方法可以删除我不需要的双精度点。Java 我无法使我的天际线算法正确使用我的“删除”方法并删除我列表中所有正确的点(包含点的列表),java,list,Java,List,。。。。。。。。。 我已经列出了一个随机双精度数字列表。我的Main调用了一个算法,并以我自己的方式使用了一个skyline算法。在我的关于ListDoublePoints的课程中,我有一个方法可以删除我不需要的双精度点。 所以,我想让我的删除方法在我的天际线算法中起作用。它只适用于少量的两点,所以一些我不需要的点…仍然存在。!有什么想法吗?虽然我确信这段代码非常有趣,但除非您更深入地描述您的问题,否则没有人会阅读它。你试过什么?你试着那样做的时候发生了什么?你想发生什么?对不起,我是新来的。所
所以,我想让我的删除方法在我的天际线算法中起作用。它只适用于少量的两点,所以一些我不需要的点…仍然存在。!有什么想法吗?虽然我确信这段代码非常有趣,但除非您更深入地描述您的问题,否则没有人会阅读它。你试过什么?你试着那样做的时候发生了什么?你想发生什么?对不起,我是新来的。所以,如果我在这里写评论,没有人会读到吗?你应该编辑你的原始帖子来描述你想做什么。
public void findSkyline1(ListDoublePoints list)
{
DoublePoint p = list.first;
DoublePoint q = list.first;
while (p!=null ){
while (q!=null )
{
if (p.x < q.x)
{
if(p.y<=q.y)
{
list.delete(q);
}
}
else if (p.x == q.x)
{
if (p.y <q.y)
{
list.delete(q);
}
else if (p.y > q.y)
{
list.delete(p);
break;
}
}
else
{
list.delete(p);
break;
}
//end of if
q=q.next;
}
p=p.next;
}
}
public DoublePoint delete(DoublePoint del)
{
if (del == first)
first = del.next;
else
del.previous.next = del.next;
if (del == last)
last = del.previous;
else
del.next.previous = del.previous;
return del;
}