Reversering av innholdet i en Java- matrise er en felles oppgave , og krever ikke mye kode . Det er forskjellige mulige tilnærminger til å reversere matrise rekkefølge, men det enkleste er å arbeide fra hver ende av rekken mot sentrum , bytte hvert par av elementer i sin tur . Å bytte element stillinger i en matrise, må du kopiere rundt halvparten av dem i midlertidige variabler som du går , siden så snart du flytter et element inn i en annen stilling , vil du ha overskrevet et annet element . Instruksjoner
en
Forbered array. Hvis du ikke allerede har en rekke objekt i programmet, lage en nå : en
//lage en matrise og spesifisere lengden
int [ ] someNumbers = new int [ 13 ];
//instantiate rekken med noen elementer
for ( int i = 0 ; i < someNumbers.length ; i + + )
someNumbers [ i] = i;
p Dette eksemplet bruker primitive typen ints , men metoden fungerer for matriser av alle typer , inkludert stedene. For dette eksempelet inneholder matrisen i utgangspunktet tall som går fra null og oppover
2
Opprette variabler for å holde oversikt over din posisjon som du flytter sammen matrisen fra hver ende : .
//man begynner i første posisjon , den andre i det siste
int leftPosn = 0;
int rightPosn = someNumbers.length - en ;
algoritmen skal bruke en loop, vil hver iterasjon som involverer bytte to elementer , som begynner ved å bytte den første og siste , deretter fortsetter mot midten.
3
Lag en løkke for algoritmen din . Du kan bruke hva slags løkke gjør mest fornuftig for deg , men i dette tilfellet det enkleste alternativet er en while-loop : en
//sjekk om venstre og høyre side har fortsatt å nå midten
< p > while ( leftPosn < rightPosn )
{
//løkke innhold går her
}
løkken vil fortsette så lenge venstre og høyre tellere har ennå ikke nådd midten av tabellen.
4
Bytt hvert par av elementer i sving. Inne mens loop ( på "loop innhold går her ") : en
//kopiere lengst til venstre element i paret inn i en ny midlertidig variabel
int tempCopy = someNumbers [ leftPosn ];
//kopiere lengst til høyre element inn i venstre posisjon
someNumbers [ leftPosn ] = someNumbers [ rightPosn ];
/* kopiere originalen lengst til venstre element fra den midlertidige variable
* i posisjon på høyre side * /
someNumbers [ rightPosn ] = tempCopy ; .
den midlertidige variabelen bare må være tilgjengelig i løpet av hver iterasjon av løkken
5
Flytt din posisjon teller variabler sammen hver gang løkken utfører . I mens loop kodestykket ( etter swap ) : en
//øke eller redusere stillinger for å jobbe videre mot midten
leftPosn + +;
rightPosn - ;
Test koden ved å kjøre programmet og gi ut innholdet i array som følger ( etter mens loop ) : en
for ( int j = 0 ; j < someNumbers.length ; j + + )
System.out.println ( someNumbers [ j ] ) ;