pub fn random(n: usize) -> Perm
    {
        use rand::Rng;

        let mut inv: Vec<_> = (0..n).collect();
        rand::thread_rng().shuffle(&mut inv);
        Perm { inv: PermVec(inv) }
    }
/// Construct a random permutation of the given length.
Construct a random permutation of the given length.
Construct a random permutation of the given length .
pub fn random(n: usize) -> Perm
    {
        use rand::Rng;
        let mut inv: Vec<_> = (0..n).collect();
        rand::thread_rng().shuffle(&mut inv);
        Perm { inv: PermVec(inv) }
    }
pub fn random ( n : usize ) -> Perm { use rand :: Rng ; let mut inv : Vec < _ > = ( 0 .. n ) . collect ( ) ; rand :: thread_rng ( ) . shuffle ( & mut inv ) ; Perm { inv : PermVec ( inv ) } }
Construct a random permutation of the given length.
Construct a random permutation of the given length .
n
usize
n
usize