【发布时间】:2014-05-03 13:57:06
【问题描述】:
我正在执行一项任务,该任务需要从包含多个 char 链表的链表中计算指标(如图所示,每一行都是一个链表)。所以我需要遍历每个包含第二行空格的节点,以检查有多少空格被其他四个空格(顶部、底部、左侧、右侧)包围。例如,参考下图,第三行的第二个空格被四个空格包围,所以 count++。 (“H”只是简单的表示非空格字符,对不起,我没有足够的声誉来发布真实的图片)。
我被允许使用 STL 链表库。我试图使用三个迭代器同时遍历三行。但是,代码变得非常混乱,甚至无法正常工作,因为每一行都有不同的长度。我已经考虑了两天的解决方案,但是由于我练习 C++ 才两个月,所以我能想到的非常有限。所以我想知道是否有人可以给我一个提示或更聪明的解决方案。
空格 |空间 | --H -- | --H -- | -- H -- |空|空
--- H --| --H ---|空间 |空间 | --- H- | -- H -- |空
--- H --|空间 |空间 |空间 | -- H-- |空间|空
空格 | --H -- |空间 |空间 | -- H -- |空 |空
【问题讨论】:
-
您可以保留迭代器的 std::list、std::array 或 std::vector。
-
为了清楚起见,您使用的是
std::list<std::list<char>>;那是对的吗?与尝试发布描述段落相比,代码会更更清楚地说明您实际在做什么。不要试图告诉我们关于代码,除非你也打算发布它。只有这样,我们才有可能看到不正当路径的明显伪影。