Medir Tempo de Processo dos Metodos e Menu

Fazer um menu para que o usuário selecione :

BOLHA
INSERÇÃO
SELEÇÃO DIRETA
QUICKSORT
HEAPSORT

Vetor com 50.000 posições

Gerar Valor e guardar os mesmos

Listar (posição Inicial , Posição Final)

Mostrar na Tela :

· Nome do método mais rápido
· Nome do método mais lento
· Média de tempo

public class Metodos {
  private int Dados[]= new int[100];
  private int Limite;

  public Metodos(int imax){
	  setlimite(imax);
	  Dados = new int[getlimite()];
  }
  
  public int getlimite() {
	return Limite;
  }

  public void setlimite(int limite) {
	Limite = limite;
  }
  
  public void gerarvalores(){
	  for (int i =0; i<getlimite();i++){
		  Dados[i] = (int) (Math.random()* 1000);
	  }
  }
  
  public void listar(int ipular){
	  for (int i=0; i< getlimite();i++)
		  if (((i+1) !=0) && ((i+1)%ipular!=0) )
		    System.out.print(Dados[i]+"  ");
		  else
			  System.out.println(" ");    
  }
  
  //Quick Sort
  public void Quick(int primeiro,int ultimo){
	int e=primeiro+1,d=ultimo,pivo;
	Trocar(primeiro,(primeiro+ultimo)/2);
	pivo = Dados[primeiro];
	while( e<=d){
		while (Dados[e]<pivo) e++;
		while (Dados[d]>pivo) d--;
		if(e<d)
			Trocar(e++,d--);
		else
			e++;
	}
	Trocar(d,primeiro);
	if(primeiro < d-1) Quick(primeiro,d-1);
	if(d+1 < ultimo) Quick(d+1,ultimo);
  }
  
  public void Trocar(int a, int b){
	  int temp = Dados[a];
	  Dados[a] = Dados[b];
	  Dados[b] = temp;
  }

  //Quick SORT Preparar PIVO
  public void OrdenarQuick(int n){
	  int max=0;
	  for(int i=1;i<n;i++)
	     if(Dados[max]<Dados[i])
				  max = i;
	  Trocar(n-1,max);
	  Quick(0,n-2);
  }
  
  //Seleção
  public void OrdenarSelecao(int n){
	  for (int i=0,j,l;i<n-1;i++){
		  for (j=i+1,l=i;j<n;j++)
			  if (Dados[j]<Dados[l])
				   l= j;
		  Trocar(l,i);
	  }
  }
  
  //Balanceamento
  public void Mover(int pri, int ult){
	  int tam = 2 * pri+1;
	  while(tam <= ult){
		  if(tam < ult && Dados[tam] < Dados[tam+1])
			  tam++;
		  if(Dados[pri]<Dados[tam]){
			 Trocar(pri,tam);
			 pri=tam;
			 tam=2*pri+1;
		  }
		  else
			  tam = ult+1;
	  }
  }
  
  //Heap SORT
  public void HeapSort(int n){
	  for (int i=n/2-1;i>=0;--i)
		  Mover(i,n-1);
	  for(int i=n-1;i>=1;--i){
		  Trocar(0,i);
		  Mover(0,i-1);
	  }
  }
  
  
}

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Reifel[/color][/size] :joia:

Você quer ver o tempo de duração de cada método?

Se for:


long tempo = System.currentTimeMillis();