Oi

4 respostas
Elyssandro

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?

4 Respostas

ViniGodoy

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:

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);
Anhanguera

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:

//********************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]);
                  	}




	}

}
//********************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]);
                  	}




	}

}

Espero ter ajudado

ViniGodoy

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? :wink:

Anhanguera

ViniGodoy valeu cara…

Criado 28 de novembro de 2010
Ultima resposta 28 de nov. de 2010
Respostas 4
Participantes 3