Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Come invertire un array di numeri con Java

Invertire il contenuto di un array di Java è un compito comune , e non richiede molto codice . Esistono diversi approcci per invertire ordine matrice , ma la più semplice è lavorare da ciascuna estremità della matrice verso il centro , scambiando ogni coppia di elementi a turno . Per scambiare le posizioni elemento all'interno di un array, è necessario copiare circa la metà di essi in variabili temporanee , come si va , dato che non appena si sposta un elemento in una posizione diversa , si avrà sovrascritto un altro elemento . Istruzioni
1

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