【发布时间】:2012-12-01 01:59:13
【问题描述】:
(C++!不知道该不该提) (尽可能保持顺序!)
假设我有,而且我有,字符串 ABaC。
我将该字符串中的每个字符都放在一个名为 temp 的向量中。
所以我有 temp[0] = A,temp[1] = B,temp[3] = a,temp[4] = C。
我想做的是正确的一个程序,该程序输出该字符串的每个排列,其结果是删除 0 个大写字母,然后是 1 个大写字母,然后是两个大写字母,然后是全部 3。
我删除大写字母的原因是......你不应该专注于大写字母。碰巧我需要删除这里所有的大写字母,但是,比如说 ADbd,我不需要删除 D。所以说真的,一种从字符串中删除一组已知字符的算法。
所以它会输出:
ABaC|BaC|AaC|ABa|aC|Aa|Ba|a
这里不寻求效率或算法太出色。简单而长或短而愚蠢的东西我也很满意。
这是我正在处理的一个正在进行的项目的一部分,该项目删除了 lambda 产品(你们已经帮我解决了)所以这是我需要通过从规则,一个一个,依此类推,并输出每个排列。
但是,你们都可以忽略这一点。把它想象成字符串。因此,非常感谢任何帮助。
谢谢你。
【问题讨论】:
标签: c++ algorithm vector char permutation