All pastes #10722 Raw Edit

grrr

public cpp v1 · immutable
#10722 ·published 2005-05-01 15:33 UTC
rendered paste body
#include <stdio.h>void swap ( int &a, int &b ) {  int t = a;  a = b;  b = t;}void permsrec ( int n, int *temp, int level ) {  if ( level == n ) {    // terminate recutsion and print out    for ( int i=0; i<n-1; i++ )      printf ( "%i, ", temp[i] );    printf ( "%i \n", temp[n-1] );    return;  }  // level is a parting index in temp: on the left there are   // used numbers, on the right, free numbers  for ( int i=level; i<n; i++ ) {    // move number i from the right to the left, then recurse    swap ( temp[level], temp[i] );    permsrec ( n, temp, level+1 );    // when done, undo the operation    swap ( temp[level], temp[i] );    }}void perms ( int n ) {  int *temp = new int[n];  for ( int i=0; i<n; i++ ) temp[i] = i;  permsrec ( n, temp, 0 );  delete [] temp;}void main ( ) {  perms ( 4 );}