Ordenação de vetores, como eu insiro um contador de tempo neste trabalho
10 respostas
luisedicarlos
Olá pessoal, esta é a primeira vez que posto aqui no fórum, porem já fiz varias pesquisas aqui que me foram muito uteis, estou fazendo um trabalho na faculdade, ele tá até anexo neste post (não consegui colocar o codigo aqui, e ele é grande tambem), o professor solicitou que fizessemos a ordenação em tres metodos, deveriamos entrar com o tamanho do vetor e escolher o metodo de ordenação e deveriamos mostrar o tempo gasto por cada um, consegui fazer ordenar por dois metodos, bolha e insercao, o metodo quick não consegui, eu usei o netbeans com a parte com a interface gráfica já que estou começando em java.
se puderem me ajudar a fazer a parte da media do tempo eu agradeceria muito, e se puderem me dar umas dicas do código tambem, o trabalho é pra hoje a noite…
usei a parte grafica e uma classe para cada metodo com passagem de parametro, foi o melhor que consegui de ontem pra cá que foi quando me passaram o trabalho.
Muito obrigado pela ajuda, você chegou a ver meu código? Desulpa a minha ignorancia, é pq sou bem novo em java, mas onde eu colocaria este código, nas classes? se não for pedir muito e se vc puder, vc poderia me dar exemplo usando o meu código, não é fazer pra mim pq preciso aprender, mas só mais uma dica se não for pedir muito
Muito obrigado e até mais…
xandevieira
Não tinha visto seu codigo, mas segue um exemplo no seu codigo.
private void ordenaBolha(int matriz[]) {
Long inicio = System.currentTimeMillis();
for (int i = 0; i < matriz.length-1; i++) {
for (int j = 0; j < matriz.length-i-1; j++) {
if (matriz[j] > matriz[j+1]) {
swap(matriz, j, j+1);
}
}
}
System.out.println(System.currentTimeMillis() - inicio); ;
}
derrepende vc cria um metodo para pegar o tempo e mostrar
luisedicarlos
avsouza:
Não tinha visto seu codigo, mas segue um exemplo no seu codigo.
private void ordenaBolha(int matriz[]) {
Long inicio = System.currentTimeMillis();
for (int i = 0; i < matriz.length-1; i++) {
for (int j = 0; j < matriz.length-i-1; j++) {
if (matriz[j] > matriz[j+1]) {
swap(matriz, j, j+1);
}
}
}
System.out.println(System.currentTimeMillis() - inicio); ;
}
derrepende vc cria um metodo para pegar o tempo e mostrar
Muito obrigado novamente, sei que vou conseguir entregar este trabalho hoje, vou tentar criar um campo na interface que mostre assim que terminar a execução do metodo o tempo que levou para executar, conforme vc mostrou, seram três metodos mostrados a turma e devo mostrar o tempo de cada um.
Se não for pedir muito novamente, tem um metodo que não consegui executar, ele tá dando erro, já tentei de tudo, será se você tambem poderia me ajudar, é o metodo quicksort (classe RAPIDA do projeto).
uma coisa que reparei no seu codigo, o metodo abaixo chama o metodo particao, so que não existe um metodo particao q receba somente aum array de int, somente este
Não tinha visto seu codigo, mas segue um exemplo no seu codigo.
private void ordenaBolha(int matriz[]) {
Long inicio = System.currentTimeMillis();
for (int i = 0; i < matriz.length-1; i++) {
for (int j = 0; j < matriz.length-i-1; j++) {
if (matriz[j] > matriz[j+1]) {
swap(matriz, j, j+1);
}
}
}
System.out.println(System.currentTimeMillis() - inicio); ;
}
derrepende vc cria um metodo para pegar o tempo e mostrar
Estou usando e netbeans, tentei colocar o tempo em um campo de texto na classe FuncionandoView, porem não consegui, você pode me ajudar? preciso que o tempo que for gasto na classe bolha ser colocado depois de executado na classe FuncionandoView, para ser exibido o tempo que foi gasto, não pelo console mas sim pela interface, tipo um campo de texto receber este valor, igual o campo lista esta recebendo o vetor ordenado.