hmm mas o b eu taria usando como variavel auxiliar, é eu sei que num ia compilar, mas é que hoje eu vi isso em natural aqui e fiquei na duvida como faria em java, dai como não tenho nenhum IDE aqui e muito tempo sem desenvolver em java fico um pouco perdido na sintaxe
Lembrando que para implementações de List existe o Collections.reverse();
Talvez ainda não seja a melhor solução mas:
int[] a = {1,3,5,7,33,44,6,61,53,12,42,76,99,90,21}
int count = 0;
int length = (int)a.length/2+1 //só precisa ir até a metade +1 (o cast é pra converter o resultado da divisão que será double)
for(int i = length; i == o; i--){
int tmp = a[i]; //guarda o valor num campo temporário
//inverte os dados
a[i] = a[count];
a[count] = tmp;
count++;
}
A sim, em C programa-se exatamente igual hahuauhauhauhauha
Se puder usar collections… use implementações de Lists.
Mas antes de escolher a sua implementação sugiro uma boa estudada a respeito.
Por que ao inverter o primeiro elemento com o último, o último já recebe o primeiro elemento elemento também e assim por diante.
Daí não precisa continuar depois da metade por que já foi feita essa permuta.
Por que ao inverter o primeiro elemento com o último, o último já recebe o primeiro elemento elemento também e assim por diante.
Daí não precisa continuar depois da metade por que já foi feita essa permuta. [/quote]
mas fui fazer aqui no papel e fiquei na duvida porque:
int[] a = {1,3,5,7,33,44,6,61,53,12,42,76,99,90,21}
int count = 0;
int length = (int)a.length/2+1 //só precisa ir até a metade +1 (o cast é pra converter o resultado da divisão que será double)
for(int i = length; i == o; i--){
int tmp = a[i]; //Aqui receberia 53
//inverte os dados
a[i] = a[count];//aqui a posição zero ia receber 53
a[count] = tmp; // e aqui a posição 8 iria receber 1
count++;
}
[quote=Marky.Vasconcelos]
int[] a = {1,3,5,7,33,44,6,61,53,12,42,76,99,90,21}
int lgt = a.length;
int[] b = new int[lgt];
for(int i = 0; i<lgt; i++)
b[i] = a[lgt - i];
a = b;
[/quote]
gostei dessa solução ^^ mas muito parecida com a que eu propus =x sera q não tem uma forma melhor não?
Como eu disse lá atrás, o uso da API Collections resolveria facilmente o seu problema, mas vejo que não queres usar de nenhuma API, perfeito?
No meu humilde ponto de vista, a melhor solução é aquela que efetua a junção de legibilidade do código e perfomance, lógico, que faça corretamente a sua função.
Para tal, teria que pegar cada solução dada e efetuar testes e depois sim, tirar uma conclusão.
Já foram dadas algumas soluções, portanto, basta você escolher uma delas, seja por análise ou aleatoriamente, e aplicar a sua necessidade.
Se você der uma olhada na lógica de implementação do Collections.reverse(), não difere em nada de boas soluções postadas pelo Tchello e Marky.Vasconcelos.