我在比较数组中的值并将线条绘制到距离最远的点时遇到问题。
Point2D[] pts = new Point2D[N];
for (int i = 0; i < pts.length; i++){
pts[i] = new Point2D(Math.random(), Math.random());
StdDraw.setPenColor(StdDraw.RED);
StdDraw.setPenRadius(0.008);
pts[i].draw();
if(SOMETHING){
StdDraw.setPenColor(StdDraw.BLACK);
StdDraw.setPenRadius(0.002);
pts[i].drawTo(SOMETHING);
到目前为止,这是我的代码生成随机点的一部分,但我不知道如何测量距离然后绘制它。 我是否必须创建一个嵌套循环? 任何建议都会很棒!
答案 0 :(得分:2)
如果您只想绘制最长的边缘(图论理论术语),您的绘制调用将不在您的for循环内。相反,您的循环(可能还有第二个嵌套循环)将贯穿您的所有可能性并首先找到最长的边缘,通过保存和覆盖数据到目前为止每次突破之前最长的数据记录,然后在循环后开始绘制一次。