STL再放送
1.rope
1.1头文件:对于这个类型,它所属的STL的库是<ext\rope>。内部实现可以认为是链表,时间复杂度大概是$O(n\sqrt n)$
1.2命名空间,它所属的命名空间是__gnu_cxx。
1.3操作:
rope<int> T; rope<char> S;
T.size() //T中元素的个数
T.push_back(x);//在末尾加入x T.insert(pos,x);//在第pos位置之后添加元素x T.erase(pos,x);//从第pos位置开始删除x个元素 T.copy(pos,len,x);//从pos开始到pos+len为止用x代替 T.replace(pos,x);//从第pos位置开始换成x T.at(x); T[x]//访问第x个元素
注意,这里和vector一样,为了节约内存rope下表从0开始。
众人皆醉我独醒,举世皆浊我独清