Prepara il tuo array. Se non si dispone già di un oggetto array nel programma , creare uno adesso :
//crea un array e specificare la lunghezza
int [ ] someNumbers = new int [ 13 ] ;
//istanziare l'array con alcuni elementi
for (int i = 0; i < someNumbers.length ; i + + )
someNumbers [ i] = i;
Questo esempio utilizza interi di tipo primitivo , ma il metodo funziona per array di qualsiasi tipo , inclusi gli oggetti . Per questo esempio , l'array contiene inizialmente numeri di servizio tra zero verso l'alto
2
Creare variabili per tenere traccia della vostra posizione come ci si sposta lungo l'array da entrambe le estremità : .
//uno inizia nella prima posizione , l'altra nell'ultimo
leftPosn int = 0;
int rightPosn = someNumbers.length - 1 ;
l'algoritmo sta per usare un ciclo, ogni iterazione che coinvolgerà scambiando due elementi , a cominciare scambiando il primo e l' ultimo , poi proseguendo verso il centro .
3
Creare un ciclo per il vostro algoritmo. È possibile utilizzare qualsiasi tipo di ciclo rende più senso per voi , ma in questo caso l' opzione più semplice è un ciclo while :
//verificare se le posizioni sinistra e destra devono ancora raggiungere il centro
mentre ( leftPosn < rightPosn ) per
{
contenuto //loop va qui
}
il ciclo continuerà fino a quando la sinistra e la destra contatori non hanno ancora raggiunto la metà della matrice.
4
Scambia ogni coppia di elementi a loro volta . All'interno del vostro ciclo while ( a " contenuto ciclo va qui " ) :
//copiare l'elemento più a sinistra nella coppia in una nuova variabile
int tempCopy temporanea = someNumbers [ leftPosn ] ;
//copiare l' elemento più a destra nelle posizioni più a sinistra
someNumbers [ leftPosn ] = someNumbers [ rightPosn ] ;
/* copiare l'elemento più a sinistra originale dal
temporanea variabile
* nella posizione più a destra * /
someNumbers [ rightPosn ] = tempCopy ; .
la variabile temporanea ha solo bisogno di essere disponibile nel corso di ogni iterazione del ciclo
5
Spostare le variabili contatore di posizione lungo ogni volta che il ciclo viene eseguito . Nel ciclo while blocco di codice ( dopo lo swap ) :
//incremento e decremento posizioni di continuare a lavorare verso la metà
leftPosn + + ;
rightPosn - ; < br
test> il codice eseguendo il programma ed emettere il contenuto della matrice come segue ( dopo il ciclo while ) :
for (int j = 0; j < someNumbers.length ; j + + )
System.out.println ( someNumbers [ j ] ) ;
Programmazione © www.354353.com