Re: How to construct all possible orderings

• To: mathgroup at smc.vnet.net
• Subject: [mg15649] Re: How to construct all possible orderings
• From: Paul Abbott <paul at physics.uwa.edu.au>
• Date: Sat, 30 Jan 1999 04:28:44 -0500 (EST)
• Organization: University of Western Australia
• References: <78patb\$ctc@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Carlos Carreto wrote:

> I am trying to construct all possible orderings  of  for example 3
> elements, where each element can be A, B or C.
>
> The result will be something like this: AAA
> AAB
> AAC
> ABA
> . . .
> CCC

Here is one way using Distribute:

In[1]:= Distribute[Table[{"A", "B", "C"}, {3}], List]

Out[1]=
{{"A", "A", "A"}, {"A", "A", "B"}, {"A", "A", "C"}, {"A", "B", "A"},
{"A", "B", "B"}, {"A", "B", "C"}, {"A", "C", "A"}, {"A", "C", "B"},
{"A", "C", "C"}, {"B", "A", "A"}, {"B", "A", "B"}, {"B", "A", "C"},
{"B", "B", "A"}, {"B", "B", "B"}, {"B", "B", "C"}, {"B", "C", "A"},
{"B", "C", "B"}, {"B", "C", "C"}, {"C", "A", "A"}, {"C", "A", "B"},
{"C", "A", "C"}, {"C", "B", "A"}, {"C", "B", "B"}, {"C", "B", "C"},
{"C", "C", "A"}, {"C", "C", "B"}, {"C", "C", "C"}}

If you want the result as a text string, you can use StringJoin:

In[2]:= Apply[StringJoin, %, {1}]

Out[2]=
{"AAA", "AAB", "AAC", "ABA", "ABB", "ABC", "ACA", "ACB", "ACC",
"BAA", "BAB", "BAC", "BBA", "BBB", "BBC", "BCA", "BCB", "BCC",
"CAA", "CAB", "CAC", "CBA", "CBB", "CBC", "CCA", "CCB", "CCC"}

Cheers,
Paul

____________________________________________________________________
Paul Abbott                                   Phone: +61-8-9380-2734
Department of Physics                           Fax: +61-8-9380-1014
The University of Western Australia            Nedlands WA  6907
mailto:paul at physics.uwa.edu.au  AUSTRALIA
http://www.physics.uwa.edu.au/~paul

God IS a weakly left-handed dice player
____________________________________________________________________

```

• Prev by Date: Re: How to fix bad EPS output from Display[.., .., "EPS"]
• Next by Date: Re: Bug in Det[ ], once more
• Previous by thread: Re: How to construct all possible orderings
• Next by thread: RE: How to construct all possible orderings