我有四组数据:有没有适合解决这个问题的数据结构?
//group 1
2 2 6
2 2 7
2 3 5
2 3 6
2 3 7
3 2 5
3 2 6
3 2 7
3 3 4
3 3 5
3 3 6
3 3 7
...
...
7 2 2
7 2 3
7 2 5
7 2 7
7 3 2
7 5 2
7 6 2
//group 2
2 2 2
2 2 3
2 2 4
2 2 5
2 3 2
2 3 3
3 3 2
3 3 3
3 4 2
...
...
5 2 2
//group 3
2 4
2 5
3 3
3 4
3 5
3 6
...
...
7 2
//group 4
6
7
8
我想要做的是给定输入号码,给所有可能的结果。 例子可以帮助解释什么,我想做的事: 说输入为7,则输出应该是以下几点:
from group 1
7 2 2
7 2 3
7 2 5
7 2 7
7 3 2
7 5 2
7 6 2
from group 2
//nothing
from group 3
7 2
from group 4
7
然后,添加第二个输入2(所以总投入为7 2)那么结果应该是
from group 1
7 2 2
7 2 3
7 2 5
7 2 7
from group 2
//nothing
from group 3
7 2
from group 4
//nothing
然后,添加一个第三输入端5(因此总输入为7 2 5),那么结果应该是
from group 1
7 2 5
from group 2
//nothing
from group 3
//nothing
from group 4
//nothing
这似乎是我需要一个森林(几棵树),对吗? 如果是这样,是否有任何良好的C++树实现这个任务的森林,或者我自己更好地手工制作一个?
很多谢谢
您需要实际描述您正在尝试使用的*算法*。 – Puppy
如果我理解正确,您希望输出包含您的输出的所有行作为前缀,对吗? – Giorgio
看起来像*前缀树*。在C++标准库中没有一个,但我相信你会在互联网上找到一个好的实现。 –