gpt4 book ai didi

C 字符串作为链表?

转载 作者:太空宇宙 更新时间:2023-11-04 07:35:32 24 4
gpt4 key购买 nike

在 c 字符串中,我们需要分配合理大小的内存。为了避免在字符串操作中重新分配,我们可以在 C# 或 Java 中使用类似 Stringbuilder 的东西,或者 - 在 C 中 - 只为字符串分配更多内存。但如果我们事先不知道内存需求,这仍然是个问题。我们有像链表这样的实现吗?我的意思是分配内存块列表和方法 c_str() 从其节点创建 c 字符串

liststring a(4); // requested block size
a.append("hello ");
a.append("world");
// should create three nodes, 4 bytes allocated for each
// "hell" -> "o wo" -> "rld"
a.c_str(); // "hello world";

或者如果我们想避免重新分配,我们是否使用另一种方法?请解释这是否是个坏主意。

最佳答案

请参阅 Ropes 上的文章对于将字符串保存为树的数据结构。跟你的想法很像。

关于C 字符串作为链表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9420098/

24 4 0
文章推荐: css - 正确导入后, Material 样式未应用于 Angular 应用程序
文章推荐: Java jsr 303从带注释的字段访问bean字段
文章推荐: java - Struts