12/04/2012Ordinamento per sostituzione (o scambio) Probabilmente il metodo più diffuso per ordinare un array Il principio è che ogni posizione di un array, dalla prima alla penultima, debba contenere un valore inferiore a tutti quelli delle posizioni successive.Ognuna di esse viene messa a confronto con tutte le posizioni successive allo scopo di determinare chi abbia il valore inferiore. Ogni volta che una successiva viene trovata inferiore vengono scambiate le posizioni, fino a consolidare la posizione col valore più piccolo. Quando questo accade, si passa a consolidare la posizione successiva ripetendo il gioco fino alla penultima posizione. L'ultima posizione sarà automaticamente determinata (non ha successive posizioni, quindi il valore che contiene non potrà che essere diventato il più grande). A seguire il solito esempio javascript: var a = new Array( 5, 1, 4, 8, 2, 3, 7, 9, 6 ); //array di valori function Sort() { for( i = 0; i < a.length - 1; i++ ) { for( j = i+1; j < a.length; j++ ) { if( a[j] < a[i] ) { // scambia a[i] con a[j] tmp = a[i]; a[i] = a[j]; a[j] = tmp; } } } } |