您当前的位置: 首页 > 

Jave.Lin

暂无认证

  • 2浏览

    0关注

    704博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

堆数据

Jave.Lin 发布时间:2016-04-16 16:42:45 ,浏览量:2

伪代码,作记录用:

写的都只是思路上的代码,未运行过;

// @author Jave.Lin
// @date 2016-04-16 16:41
function getPOT(n:Number):Number
{
    var v:Number = 1;
    while (n < v) v  0)
                        {
                            lastB.mergeNextBlock();
                            mergeCount--;
                        }
                        _blocks.split(i + 1, subLen);
                        return lastB;
                    }
                }
            }
            else
            {
                _lastCanUseContinueIdx = -1;
                _lastCanUseContinueSize = -1;
            }
        }

        raiseCap();

        return getBlock(size, _lastCanUseContinueIdx);
    }

    private function allocBs(pot_size:int):void
    {
        if (_size < pot_size)
        {
            var ps:int = _size;
            _size = pot_size;
            var b:Bloack = new Bloack();
            if (_byte == NULL)
            {
                _byte = alloc(_size * sizeof(Number));

                b.off_s = 0;
                b.len = _size;
                b.free = true;
                b.nextBlock = null;
                _blocks.push(b);
            }
            else
            {
                _byte = realloc(_byte, _size * sizeof(Number));

                b = new Block();
                b.off_s = ps;
                b.len = _size - ps;
                b.free = true;
                b.nextBloack = null;
                _blocks[_blocks.length - 1].nextBlock = b;
            }
        }
    }

    private function raiseCap():void
    {
        allocBs(getPOT(_size + 1);
    }
}
关注
打赏
1664331872
查看更多评论
立即登录/注册

微信扫码登录

0.0422s