声明
#include<ext/rope>
using namespace __gnu_cxx;
rope<int> a,text;
基本操作
test.push_back(x); //在末尾添加x
test.insert(pos,x); //在pos插入x
test.erase(pos,x); //从pos开始删除x个
test.copy(pos,len,x); //从pos开始到pos+len为止用x代替
test.replace(pos,x); //从pos开始换成x
test.substr(pos,x); //提取pos开始x个
test.at(x)/[x]; //访问第x个元素
text.length(); //大小
其算法复杂度n*(n^0.5),可以在很短的时间内实现快速的插入、删除和查找字符串,是一个很厉害的神器!
测试代码
text.substr(2); //这样默认为提取一个
cout<<text<<endl; //编译错误
temp=a.substr(pos,x); //返回值temp仍然是一个rope类型
a=a.substr(0,pos)+b.substr(l-pos-x,x)+a.substr(pos+x,l-pos-x); //可实现“+”操作