• 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);
    }
  • 相关阅读:
    css 定位
    css inline忽略宽和高
    css clear属性
    关系型数据库与nosql
    链接标签<a>的css定义规则
    1em=16px
    text-align的justify属性
    2393Cirno的完美算数教室 容斥
    bzoj4665小w的喜糖 dp+容斥
    bzoj4558[JLoi2016]方 容斥+count
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/1624781.html
Copyright © 2020-2023  润新知