树状数组
还是很懵逼 慢慢来
#include <stdio.h>
int lowbit(int n)
{
    return n&-n;
}

int bitTree[512];

int sum(int pos)
{
    int result = 0;
    for (int i = pos; i >0; )
    {
        result += bitTree[i];
        i = i - lowbit(i);
    }
    return result;
}

int add(int pos, int num)
{
    for (int i = pos; i <= 20; i+=lowbit(i))
    {
        bitTree[i] += num;
    }
    return true;
}

int main()
{
    int a[21] = {0};
    for (int  i = 1; i <= 20; i++)
    {
        a[i] = i;
        add(i, i);
    }
    for (int i = 1; i <= 20; i++)
    {
        printf("%d ", sum(i));
    }
    printf("\n");

    return 0;
}
阅读更多
个人分类: 数据结构
想对作者说点什么? 我来说一句

树状数组树状数组资料下载

2010年05月03日 411KB 下载

树状数组的ppt(简单易懂)

2010年04月26日 610KB 下载

线段树 树状数组 数据结构

2011年07月24日 1.29MB 下载

专题资料-HOT\树\树状数组

2011年10月19日 41KB 下载

树状数组课件

2012年07月14日 2.01MB 下载

线段树和树状数组讲解课件

2011年08月14日 969KB 下载

没有更多推荐了,返回首页

不良信息举报

树状数组

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭