Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MEMSHUFFLE(3)		     C Programmer's Manual		 MEMSHUFFLE(3)

NAME
       memshuffle - make an array be in	random order

SYNOPSIS
       #include	<publib.h>
       void *memshuffle(void *block, size_t elsize, size_t elnum);

DESCRIPTION
       memshuffle  will	move around the	elements of an array in	a random fash-
       ion.  It	uses the standard library function rand(3) to get the  pseudo-
       random  numbers	it  needs.   The  caller must set a suitable seed with
       srand(3).

RETURN VALUE
       memshuffle returns its first argument.

EXAMPLE
       To shuffle an integer array one might do	the following.

	    int	array[4] = { 1,	2, 3, 4	};

	    memshuffle(array, sizeof(array[0]),	4);

BUGS
       On many systems rand(3) is not of very good quality.   However,	it  is
       the  only random	number generator that can be assumed to	exist.	Making
       it possible for the caller to provide an	 alternate  source  of	random
       numbers (e.g., via a function pointer) is perhaps too more trouble than
       its worth.  A better way	would be for everyone to fix their rand's.

SEE ALSO
       publib(3), memrev(3), rand(3), srand(3)

AUTHOR
       Lars Wirzenius (lars.wirzenius@helsinki.fi)

Publib			     C Programmer's Manual		 MEMSHUFFLE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=memshuffle&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help