C++ STL栈实现读写校正算法中forward order的含义是什么
请将读写校正算法实现为一个C函数,要求栈为函数内部的局部变量而非入参。函数需要构造一个包含校正后输入字符的字符串,字符按forward order排列后返回。请使用C标准模板库(STL) stack实现。
forward order的具体含义
这里的forward order和ASCII排序没有任何关系,它指的是与用户输入顺序一致的正序,即最终返回的字符串的字符顺序,和用户输入完成后呈现的正常阅读顺序完全相同,不需要额外做字符排序操作。
结合你给出的运行结果来看:输入hadjkv输出hjkv,假设你的读写校正逻辑是把字符d作为退格符(按下退格会删除前一个输入的字符a),那么校正后的有效字符按输入先后顺序就是h、j、k、v,和你得到的输出顺序完全一致,这个就是要求的forward order。
额外说明
这个要求是针对STL栈的特性提出的:STL栈仅能访问栈顶元素,你处理完所有输入字符后,栈内存储的校正后字符是倒序的,直接按弹出顺序拼接字符串会得到反序结果。你需要把弹出的字符做一次反转,或者用临时容器中转调整顺序,才能得到符合要求的正序结果。
内容的提问来源于stack exchange,提问作者Inzen
相关产品推荐
相关产品推荐

