gpt4 book ai didi

c++ - insert in string的效率

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:16 27 4
gpt4 key购买 nike

我正在尝试为比 long long 更大的非常大的整数编写这个自定义加法类。我正在研究的一种方法是将整数保留为字符串,然后将字符转换为它们的 int 组件,然后添加每个“列”。我正在考虑的另一种方法是将字符串拆分为多个字符串,每个字符串都是 long long 的大小,然后使用字符串流将其转换为 long long 添加然后重新组合。

无论如何,我发现加法最容易反向完成以允许结转数字这一事实。在这种情况下,我想知道字符串插入方法的效率。似乎因为一个字符串是一个字符数组,所以所有的字符都必须移动一个。所以它会有所不同,但效率似乎是 O(n),其中 n 是字符串中的字符数。

这是正确的,还是只是天真的解释?

编辑:我现在对我的问题有了答案,但我想知道一个更有效的相关主题,将字符串插入流然后提取到 int。或者做 10^n*char1+10^n-1*char2...等等?

最佳答案

据我所知,你是对的。 String 的 C++ 实现将在 O(n) 时间内执行插入。它将字符串视为字符数组。

对于您的数字实现,为什么不将数字存储为整数数组并仅转换为字符串以供输出?

关于c++ - insert in string的效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8785205/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com