
Originariamente inviata da
torn24
Be vedo che sei perfettamente in grado di implementare la funzione Mescolamazzo() , forse ti manca l'idea ??
Per mescolare
1 in un ciclo FOR si genera un numero casuale da 0 a numero carte
2 in un puntatore temporaneo si fa puntare al primo nodo della lista
3 il puntatore lista , si fa puntare al secondo nodo ,"quello che era il primo elemento della lista ora è raggiungibile solo col puntatore temporaneo "
4 si scorre la lista , fino a raggiungere il nodo in posizione data dal numero casuale -1
5 si salva il puntatore NEXT in un puntatore temporaneo es: tempnext
6 si fa puntare a next , l'indirizzo del puntatore che contiene quello che era il primo nodo "abbiamo inserito la carta"
7 si fa puntare a , next->next =tempnext , collegando cosi gli altri nodi della lista
P.S. il numero casuale deve essere superiore a 0 , uno sarebbe inutile cambiare il primo elemento con se stesso , secondo genererebbe un errore , quando tenterai di inserire valori al nodo che lo precede , non esistendo