Re: масив чисел

From
Anatoly Saveliev ()
To
Evgenij Masherov
Date
2003-01-08T07:32:30Z
Area
RU.ALGORITHMS
From: Anatoly Saveliev <Anatoly.Saveliev@ksu.ru>

Evgenij Masherov wrote:

>  NAS> for(i=0;i<10;i++)
>  NAS> {
>  NAS>     a=random();
>  NAS>     b=random();
>  NAS>     swap(array[a],array[b]);
>  NAS> }
> 
> Тут слишком большая вероятность того, что большинство элементов вообще не
> сменит место:)

чтобы все менялось, обычно заводят маску и пишут программу типа:

 char *mask=(char*)calloc(MAXLEN);

 for(a=random(); mask[a]; a=(a+1)%MAXLEN); mask[a]=1;

или

 for(a=random(); mask[a]; a=random()); mask[a]=1;

последнее - хуже по приведенной выше причине

Анатолий Савельев
--- ifmail v.2.15dev5
 * Origin: MELT InterNetNews site (2:5020/400)