Newsgroup: it.comp.java
Titolo: mescolare un array

Come si fa a mescolare casualmente un array di interi ordinato? 

 
il trigo più "economico" per randomizzare un array è scorrerlo tutto una 
volta, e per ogni cella sorteggiare con un random con quale delle altre 
scambiarla di posto..e poi passare alla cella accanto.
Serve un esempio in codice? :)
Ciao
Fabio


No grazie, perň pensavo che se un linguaggio come il php ha una funzione 
shuffle, l'avesse anche un linguaggio serio come java!


Hanno scelto volutamente di non implementarla proprio per evitare che 
programmatori che ragionano in php venissero a cimentarsi in cose fuori 
dalla loro portata.
Un programmatore php sara' sempre un pessimo programmatore java, ma non 
viceversa. Il programmatore java e' solo schifato quando deve sporcarsi 
le mani col php.
-jeffo

 le mani col php.
Sono affermazioni molto ingenue, le tua. Da programmatore java (con
certificazione) permettimi di chiarire che, quando dici "Il
programmatore java", non mi rappresenti neanche per sogno.


Ingenue ? e perche'?
Le certificazioni sono una delle grandi bufale dell'informatica dai 
siamo seri, da quelle Sun a quelle Microsoft. Scusa ma tu vuoi dirmi , 
da programmatore java quale mi dici di essere, che quando ti trovi a 
lavorare su un codice php ti diverti?
Un programmatore java puo' essere un buon programmatore php ma non 
viceversa. Questo e' innegabile.
Secondo te un serio programmatore java si stupirebbe della mancanza di 
una funzione shuffle? E soprattutto,  perche' non andarsi a guardare 
l'interfaccia List prima di dire che java non offre questo metodo?
-jeffo

 una funzione shuffle? 
Il serio programmatore java se il linguaggio gli offre la funzione la
usa, altrimenti si arrangia, esattamente come farà la persona in
questione. Qual'è il senso della tua domanda? Forse che mescolare un
array è un esigenza stupida per un programmatore serio?

> programmatore java", non mi rappresenti neanche per sogno.
J> Ingenue ? e perche'?  Le certificazioni sono una delle grandi
J> bufale dell'informatica dai siamo seri,
Perché non è la cosa che fa l'opera dell'uomo, ma l'opera dell'uomo che
fa la cosa. C'è codice schifoso in Java e codice intelligente in VB.
Quanto alla certificazione.
Il primo livello non pare altro che un quiz a premi. Ma studiando i testi
per quella certificazione si apprendono delle sfumature del linguaggio che
vengono perse da chi usa Java come il cobol del terzo millennio.
J>  che quando ti trovi a lavorare su un codice php ti
J> diverti?
Se il codice è intelligente si.
J>  Un programmatore java puo' essere un buon programmatore
J> php ma non viceversa. Questo e' innegabile.
Negabile. Un  programmatore o è un  buon programmatore o non  lo è. Il
linguaggio non c'entra.
J> Secondo te un serio programmatore java si stupirebbe della mancanza
J> di una funzione shuffle?
No, non  un programmatore Java. Un  programmatore. Ma non  è detto che
sia  un  bene   che  non  sia  stata  implementata   una  funzione  di
rimescolamento (che è analoga, anche se molto meno usata, di quella di
ordinamento - è un ordinamento  in cui non è possibile stabilire quale
è l'ordine  della sequenza, se non  invocando il caso).  O  che sia un
male.  Semplicemente non ne hanno mai sentito la mancanza. Qualcuno in
PHP magari ne ha avuto bisogno 4 volte, ed alla seconda la ha messa in
libreria.   E'  così  che   va  avanti   la  produzione   di  software
libero.  Qualcuno  fa una  soluzione  e  la  mette a  disposizione  di
altri. Alcune hanno molta fortuna.
J> E soprattutto, perche' non andarsi a guardare l'interfaccia List
J> prima di dire che java non offre questo metodo?
Perché, per caso l'interfaccia  List (collezione che mantiene l'ordine
di  inserimento)  richiede   un  metodo  shuffle()  (o  semanticamente
analogo) per la sua implementazione ?
E attento a non confondere ordered con sorted.
-- 
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico  
\/		    e allevatore di bug da competizione