# STL & Generating exponents, permutations, arrangements, and combinations

Discussion in 'C++' started by Alex Vinokur, May 13, 2004.

1. ### Alex VinokurGuest

Does STL contain algorithms which generate (enable to generate) exponents, permutations, arrangements, and combinations for any
numbers and words?

--
Alex Vinokur
mailto:
http://mathforum.org/library/view/10978.html

Alex Vinokur, May 13, 2004

2. ### Tim LoveGuest

"Alex Vinokur" <> writes:

>Does STL contain algorithms which generate (enable to generate) exponents, permutations, arrangements, and combinations for any
>numbers and words?

exponents?

Here's a quickie example of permutations that I had lying around. See the
doc for details.

#include <vector> //for vector
#include <functional> //for less
#include <iostream>
using namespace std;
int main()
{
char a2[] = "abcdefghij";
vector<char> m2(a2, a2+10);
vector<char> next_m2((size_t)10);

next_m2=m2;
next_permutation(next_m2.begin(),
next_m2.end(),less<int>());

cout << "Original values: ";
copy(m2.begin(),m2.end(),
ostream_iterator<char>(cout," "));
cout << endl;

cout << "Next Permutation: ";
copy(next_m2.begin(),next_m2.end(),
ostream_iterator<char>(cout," "));
cout << endl << endl;

return 0;
}

Tim Love, May 13, 2004

3. ### Alex VinokurGuest

"Tim Love" <> wrote in message news:c7vu3k\$5hi\$...
> "Alex Vinokur" <> writes:
>
> >Does STL contain algorithms which generate (enable to generate) exponents, permutations, arrangements, and combinations for any
> >numbers and words?

>
> exponents?
>

[snip]

See http://www.saliu.com/permutations.html
-------------------------------------------------
An example of exponents (N=3, M=3): 111,112,113,121,122,123,131,132, etc. (a total of 27 sets).
An example of permutations (for N = 3): 1 2 3, 1 3 2, 2 1 3, 2 3 1, 3 1 2, 3 2 1.
An example of arrangements (for N = 3, M = 2): 1 2, 1 3, 2 1, 2 3, 3 1, 3 2.
An example of combinations (for N = 3, M = 2): 1 2, 1 3, 2 3.
-------------------------------------------------

--
Alex Vinokur
mailto:
http://mathforum.org/library/view/10978.html

Alex Vinokur, May 13, 2004