首页 > 代码库 > stl rope

stl rope

rope准确的中文翻译是可持久化平衡树,具牛逼

其貌似不是标准的stl容器,在名称空间__gnu_cxx中

其用起来和string差不多

s.insert(a,b) 在s的第a位插入b(b可为字符串)

s.erase(a,b)在s的第a位删除b

输出时直接将s[c]表示s的第c位数 

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
using namespace __gnu_cxx;
#include<ext/rope>
crope s;
int main()
{
    int n;
    scanf("%d",&n);
    
    for(int i=1;i<=n;i++)
    {
        char ss=getchar();
        s.insert(0,ss);
    }
    for(int i=0;i<=n-1;i++)
    putchar(s[i]);
}

先脑补一下,并且这个东西使用平衡树实现的,很快!

 

stl rope