Sou estudante do 3º semestre do curso de Desenvolvimento de Softwares, e estou com uma dúvida em um exercicio que achei na Internet, quero entender antes de entregar por entregar, vocês poderiam me ajudar por favor:
O exercicio se trata do Buble sort
Preciso colocar os números que entram pela linha de comando ficar em ordem crescente só que não consigo entender esse trecho de código:
Na variável length está contida o tamanho do seu array(vetor). Usamos o -1 para que não estourar o vetor e dar uma exceção.
Exemplo:
String[]nomes=newString[3];
O tamanho do seu array é 3.
String[0], String[1] e String[2].
Se você fizer um for começando do contador 0, adicionando 1 você nao precisará utilizar o menos 1.
Exemplo
for(inti=0; i<nome.lenght; i++)
No caso do seu exemplo ele não quer que o último elemento do vetor seja percorrido por isso utiliza o length -1. Iria percorrer como no meu exemplo até 1
Exemplo:
for(inti=0,i<nome.lenght-1;i++)
String[0] e String[1]
F
FenrirPJ
Bem, vou tentar explcar para ti. Não é dificil, é só fazer um teste de mesa qdo se tem dúvida do q está acontecendo num exemplo ^^
bem aqui vai:
O que este código esta fazendo, naquele for interno pelo menos, é ir passando para cima os números de maior valor. Tá faltando algumas coisas nesse códigos, mas tranquilo.
// se a posição anterior do array possuir um valor maior
// que a proxima posição do array
// troca eles de lugar
if(meuArray[j]>meuArray[j+1]){
temp = meuArray[j];
meuArray[j]= meuArray [j+1];
meuArray[j+1]= temp;
}
Tu pode ver no código acima a razão do lenght - 1, já que nos testes ele acessa sempre uma posição acima da posição atual da variavel j. Isso evita uma exceção de acesso a posição inexistente no array.
De qlqr forma é a idéia do bubble sort, ir passando os valores para cima e tal. Na verdade não testei meu codigo para ver se ele estava certo, soh fiz teste de cabeça mesmo. Qlqr coisa deixa msg ai ^^.
R
rpatriciaPJ
Oi Pessoal
Valeu pela ajuda, eu entendi como funciona esse código.