Permutations of array (slice) ?

Kevin Bailey keraba at yahoo.com
Fri Dec 15 17:20:55 UTC 2023


On Wednesday, 13 December 2023 at 20:28:11 UTC, Nick Treleaven 
wrote:
>
> This code works for me. (The last 20+ lines are `aaaab`):
> ```d
> import std;
> void main() {
>     char[] as = replicate(['a'], 5);
>     as[0] = 'b';
>     foreach (perm; as.byChar.permutations)
>         writeln(perm);
> }
> ```
> Try it on https://run.dlang.io/. Maybe there's some issue on 
> your machine?
> Also if you use `string as = "abcde";` you can see the 
> permutations better.

Revisiting this, I see that it works now. I suspect that I had

     writeln(as);

Nevertheless, nextPermutation() does what I really want, which is:

(given as[4] = 'b')

aaaab
aaaba
aabaa
abaaa
baaaa



More information about the Digitalmars-d-learn mailing list