weixin_40894619 2017-11-20 07:50 采纳率: 0%
浏览 814

写了个简单的画图程序 却没想到这一段代码可以占用最高6个多G的内存,而且还没算出来

        temp1 = outside.First;    //outside是LinkedList<Point>型,temp1是他所对的链表节点型,是临时变量
        for(int n=1;n<=outside.Count;n++)
        {
            if(n<outside.Count)
            {
              for(int i=0;i<number_point;i++)
              {//如果在线外(圈外)
                  if (true == IsOnLineRight(temp1.Value.X, temp1.Value.Y,
                      temp1.Next.Value.X, temp1.Next.Value.Y, p[i, 0], p[i, 1]))
                  {
                      Point r = new Point(p[i, 0], p[i, 1]);
                      LinkedListNode<Point> s = new LinkedListNode<Point>(r);
                         outside.AddAfter(temp1,s);
                  }
              }
              temp1 = temp1.Next;
            }
            else
            {//如果是最后一条线,即最后一点到第一点
                for (int i = 0; i < number_point; i++)
                {//如果在线外(圈外)
                    if (true == IsOnLineRight(temp1.Value.X, temp1.Value.Y,
                        outside.First.Value.X, outside.First.Value.Y, p[i, 0], p[i, 1]))
                        {
                            Point r = new Point(p[i, 0], p[i, 1]);
                            LinkedListNode<Point> s = new LinkedListNode<Point>(r);
                            outside.AddAfter(temp1, s);
                        }

                }
            }
        }
  • 写回答

1条回答

  • weixin_39465594 2017-11-20 09:23
    关注

    如果不是数据本来就这么大的话,多半是申请新链表死循环了

     new LinkedListNode<Point>(r);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作