【问题标题】:The rope data structure绳索数据结构
【发布时间】:2012-09-22 15:30:09
【问题描述】:

我正在阅读有关绳索数据结构的信息。我对使用 C++ 和 Qt 构建文本编辑器很感兴趣。我的问题是:C++ 等编程语言中的内置字符串操作函数是否使用绳索数据结构?或者我是否需要编写自己的代码来实现绳索,以便更有效地执行连接和删除等字符串操作?

【问题讨论】:

    标签: c++ string data-structures ropes


    【解决方案1】:

    std::string 不是绳子,但 SGI STL 提供了rope

    如果您打算实施自己的绳索,我建议您使用SGI's rope implementation overview 了解一些实施细节。

    【讨论】:

    • 那么如果我编写自己的函数来实现绳索,它会比传统的内置字符串函数更快吗?如果使用绳索有什么缺点吗?
    • @I'llsudeepdino008:在大多数情况下,std::stringstd::vector 的工作方式相同:摊销常量push_backpop_back,以及常量索引,但对于插入/删除是线性的。简短的回答:是的,实施绳索将比使用std::string 更快。
    • @PeterAlexander 感谢您的帮助。:)
    • SGI 文档似乎已停用。这个链接仍然可以通过web.archive.org/web/20170629152140/http://www.sgi.com/tech/stl/…的网络档案访问
    猜你喜欢
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多