字符串解压缩以最小化内存使用量C ++

时间:2019-12-07 09:39:21

标签: c++ string memory compression

因此,我正在使用最少的内存努力实现的任务是字符串解压缩。 基本上,程序从文本文件中读取压缩的字符串,然后在另一个文本文件中吐出该字符串的解压缩版本。但是,建议避免使用递归。

该字符串可能包含用圆括号括起来的符号组,并且在开括号前面有一个数字,该数字确定将重复用篱笆块执行多少次(这些组可以嵌套)。

示例:3(AB2(CD))=> ABCDCDABCDCDABCDCD

到目前为止,我的方法是从压缩字符串中逐个读取符号,并确定是否应将其添加到解压缩字符串中。

我要解决的内存问题是如何解压缩字符串,例如: 100000000(100000000(AB100000(CD)))

std::ifstream compressed;
char symbol;
while (compressed)
        {

        symbol = compressed.peek();
            if (symbol >= '0'&&symbol <= '9')
            {
                //code
            }
            if (symbol == '(')
            {
                //code
            }
            if (symbol == ')')
            {
                //code
            }
            if (symbol != ')' && symbol != '(' && (symbol <= '0' || symbol >= '9'))
            {
                //code
            }

        }

谢谢!

0 个答案:

没有答案