Criar método de ordenação bolha, por seleção e por inserção.
Pedir ao usuário por qual método deseja ordenar os dados e na sequencia executar a ordenação.
Eu queria que voceis me ajuda-se como colocar no programa para o usuário escolher com qual método ele deseja realizar a pesquisa?
Por favor, crie títulos descritivos para seus tópicos.
Para colocar no programa uma forma do usuário escolher, basta ler a opção de um menu e fazer um if ou switch:
[code]
do {
System.out.println(“1 - Método da bolha”);
System.out.println(“2 - Seleção por inserção”);
System.out.println(“3 - Sair”);
System.out.print("Escolha a opção: ");
Scanner scan = new Scanner(System.in);
int opcao = Integer.parseInt(scan.nextLine());
switch (opcao) {
case 1:
metodoDaBolha();
break;
case 2:
selecaoPorInsercao();
break;
case 3:
break;
default:
System.out.println(“Opção inválida!”);
break;
}
} while (opcao != 3);[/code]
Oi
Eu vou listar abaixo as rotinas de ordenação em bolha e inserção, você pode transformar em funções para colocar em programas ou em métodos de classes - como você preferir - o sistema de menu para seleção eu vi que já impostaram pra você
então
ai vai:
[code]//********************ORDENAÇAO BOLHA **************************
import java.util.*;
public class bubble_order
{
public static void main(String[] args)
{
int[] num = new int[100000];
int trans;
Scanner in = new Scanner(System.in);
System.out.print("Quantos numeros você quer ordenar? ");
int k = in.nextInt();
for (int i = 0; i< k; i++)
{
System.out.print("Entre com um Inteiro : ");
num[i] = in.nextInt();
}
System.out.print("Esta eh a ordem que você informou: ");
for(int i = 0;i<k; i++)
{
System.out.print(" - ");
System.out.print(num[i]);
}
/* AQUI COMEÇA A ORDENAÇÃO BOLHA */
for(int a=1 ; a<k; a++)
{
for(int b=k-1; b>a; b–)
{
if(num[b-1]>num[b])
{
trans = num[b-1];
num[b-1] =num[b];
num[b] = trans;
}
}
}
/* AQUI JÁ DEVEM ESTAR TODOS ORDENADOS */
System.out.print("Esta eh a nova ordem ");
for(int i = 0;i<k; i++)
{
System.out.print(" - ");
System.out.print(num[i]);
}
}
}[/code]
[code]//********************ORDENAÇAO INSERT **************************
import java.util.*;
public class Inser_order
{
public static void main(String[] args)
{
int[] num = new int[100000];
int trans;
Scanner in = new Scanner(System.in);
System.out.print("Quantos numeros você quer ordenar? ");
int k = in.nextInt();
for (int i = 0; i< k; i++)
{
System.out.print("Entre com um Inteiro : ");
num[i] = in.nextInt();
}
System.out.print("Esta eh a ordem que você informou: ");
for(int i = 0;i<k; i++)
{
System.out.print(" - ");
System.out.print(num[i]);
}
/* AQUI COMEÇA A ORDENAÇÃO POR INSER */
int b;
for(int a=0; a<k; a++)
{
trans=num[a];
b=a-1;
while(b>=0 && trans<num[b])
{
num[b+1]=num[b];
b–;
}
num[b+1]=trans;
}
/* AQUI JÁ DEVEM ESTAR TODOS ORDENADOS */
System.out.print("Esta eh a nova ordem ");
for(int i = 0;i<k; i++)
{
System.out.print(" - ");
System.out.print(num[i]);
}
}
}[/code]
Espero ter ajudado
Anhanguera, da próxima vez que postar códigos, por favor, use a tag code, como descrito aqui:
http://www.guj.com.br/posts/list/50115.java
Dessa vez já arrumei para você. Mas da próxima, siga essa dica, senão fica impossível ler, ok?