/*
1A - elaborar um prog , capaz de receber 5 nºs inteiros via teclado , e inseri-los
em um vetor . Após isto , ordenar o vetor utilizando o metodo de inserção e apresentar
o vetor ordenado em tela.
Insertion Sort
*/
import javax.swing.*;
public class Exer1 {
public static void insertionSort(int[] array) {
// variavel temp
int elementoAtual;
// loop ate o ultimo elemento
for (int i = 0; i < array.length; i++) {
// guarda o valor
elementoAtual = array[i];
// inicializa a variavel localização
int indiceAtual = i;
while (indiceAtual > 0 && array[indiceAtual - 1] > elementoAtual) {
array[indiceAtual] = array[indiceAtual - 1];
indiceAtual--;
}
array[indiceAtual] = elementoAtual;
imprimir(array);
}
}
public static void imprimir ( int [] array ){
for ( int i = 0 ; i < array.length ; i++ ) {
System.out.print ( " " + array[i]);
}
System.out.print ( "\n");
}
public static void main(String args[]) {
String aux = " ";
int array[] = new int[5];
for (int i = 0; i < array.length; i++) {
aux = JOptionPane.showInputDialog(" Insira o " + (i + 1)
+ "º elemento");
array[i] = Integer.parseInt(aux);
}
System.out.println ( "Elemento não ordenados ");
imprimir(array);
System.out.println ("Ordenando por inserção " );
insertionSort(array);
System.out.println ( " Elementos ordenados ");
imprimir(array);
}
}
----------------------------------inserção :
começando do ultimo elemento ordeno , ai é q ta o meu problema não estou conseguindo onde estou errando na logica ?
/*
3A - Alterar o metodo Inserção do exer 2A de forma que ele ordene crescentemente ,
do maior para o menor elemento .
*/
import javax.swing.*;
public class Exer3A {
public static void insertionSort(int[] array) {
// variavel temp
int elementoAtual;
// loop ate o ultimo elemento
for (int i = array.length - 1 ; i > 0 ; i--) {
// guarda o valor
elementoAtual = array[i];
// inicializa a variavel localização
int indiceAtual = i;
while (indiceAtual < array.length - 1 && array[indiceAtual - 1] < elementoAtual) {
array[indiceAtual] = array[indiceAtual - 1];
indiceAtual++;
}
array[indiceAtual] = elementoAtual;
imprimir(array);
}
}
public static void imprimir ( int [] array ){
for ( int i = 0 ; i < array.length ; i++ ) {
System.out.print ( " " + array[i]);
}
System.out.print ( "\n");
}
public static void main(String args[]) {
String aux = " ";
int array[] = new int[5];
for (int i = 0; i < array.length; i++) {
aux = JOptionPane.showInputDialog(" Insira o " + (i + 1)
+ "º elemento");
array[i] = Integer.parseInt(aux);
}
System.out.println ( "Elemento não ordenados ");
imprimir(array);
System.out.println ("Ordenando por inserção " );
insertionSort(array);
System.out.println ( " Elementos ordenados ");
imprimir(array);
}
}
Cara
Qual é sua dúvida?
Não é só postar o código que agente vai milagrosamente entender onde está dando errado -.-
Hahhahahahah
Acho que o erro tá aqui:
array[indiceAtual] = array[indiceAtual - 1];
pedroroxd …
ja falei mano… a porra num funciona é na ordenação… --"
ta com preguii então num respondi o topico.
[quote=van bommel]pedroroxd …
ja falei mano… a porra num funciona é na ordenação… --"
ta com preguii então num respondi o topico.
[/quote]
Cara
deixa de ser burro… Agora que vi…
Vc postou a dúvida dentro da tag code
Ae não dá né?
Porque o que fica dentro da tag code tem que ser o código -.-
Quem olha o tópico acha que só tem código…
Ps: foi vc que começou falando palavrão =X
ta bom bobao …
aqui é um forum ;de ajuda .
num vo ficar brigando tenho mais oq fazer.
[quote=rogelgarcia]Conflito nível 5 esse… de acordo com o tópico…
http://www.guj.com.br/posts/list/201395.java[/quote]
kkkk
se pah não…
axo que ta no 4
[code]public static void insertionSort(int[] array) {
// variavel temp
int elementoAtual;
// loop ate o ultimo elemento
for (int i = array.length - 1 ; i >= 0 ; i--) {
// guarda o valor
elementoAtual = array[i];
// inicializa a variavel localização
int indiceAtual = i;
while (indiceAtual < array.length - 1 && elementoAtual > array[indiceAtual + 1]) {
array[indiceAtual] = array[indiceAtual + 1];
indiceAtual++;
}
array[indiceAtual] = elementoAtual;
imprimir(array);
}
}
[/code]
Consegui sozinho…
parabéns…
Vá ao primeiro tópico, clique editar, e acrescente [RESOLVIDO]
E da proxima vez não seja grosso com quem quer ajudar, porque ae eles vão tentar =)
so retribui, a sua ironia…
mas se ta ligado q as vezes estamos de cabeça quente .