Build all combinations of strings
bearophile
bearophileHUGS at lycos.com
Mon Jun 11 12:52:37 PDT 2012
Andrej Mitrovic:
> string[] words = "foo bar doo".split();
>
> into:
>
> string[] res = ["foo bar doo",
> "foo doo bar",
> "bar foo doo",
> "bar doo foo",
> "doo foo bar",
> "doo bar foo"];
http://rosettacode.org/wiki/Permutations#Faster_Lazy_Version
Using that the code is:
import std.string, std.stdio, std.array;
void main() {
auto words = "foo bar doo".split();
auto res = permutations!false(words).map!(p => p.join("
"))().array();
writeln(res);
}
The output is your desired one:
["foo bar doo", "foo doo bar", "bar foo doo", "bar doo foo", "doo
foo bar", "doo bar foo"]
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list