zoukankan      html  css  js  c++  java
  • Actionscript3版四叉树的插入与查询

    代码

    public function query(queryArea:Rectangle):Array
    {
        var result:Array 
    = [];

        
    for each (var item:IQuadNodeItem in contents)
        {
            
    if (queryArea.intersects(item.getRectangle()))
                result.push(item);
        }
        
    for each (var node:QuadNode in nodes)
        {
            
    if (node.isEmpty)
                
    continue;
            
    if (node.bounds.containsRect(queryArea))
            {
                result 
    = result.concat(node.query(queryArea));
                
    break;
            }
            
    if (queryArea.containsRect(node.bounds))
            {
                result 
    = result.concat(node.subTreeContents);
                
    continue;
            }
            
    if (node.bounds.intersects(queryArea))
                result 
    = result.concat(node.query(queryArea));
        }
        
    return result;
    }

    public function insert(item:IQuadNodeItem):void
    {
        
    if (!bounds.containsRect(item.getRectangle()))
            
    return;
        
    if (nodes.length == 0)
            createSubNodes();
        
    for each (var node:QuadNode in nodes)
        {
            
    if (node.bounds.containsRect(item.getRectangle()))
            {
                node.insert(item);
                
    return;
            }
        }
        
    this.contents.push(item);
    }
  • 相关阅读:
    AutoCompleteTextView 简单用法
    照片颠倒问题及查询摄像头参数问题的解决
    Android Studio-引用jar及so文件
    file新建文件及文件夹
    appcompat_v7报错
    fresco加载本地图片、gif资源
    android根据图片路径显示图片
    sublime text3 及相关的安装
    win 10通过自带IIS搭建ftp
    LCA
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/1624781.html
Copyright © 2011-2022 走看看