Ordenacao de vetor

2 respostas
D

boa noite pessoal. Preciso de uma ajuda. Estou fazendo uns exercícios para estudar pra uma prova (pesquisa, ordenação e técnicas de armazenamento). O Professor passo uma lista ade exercícios pra fazer, o problema é que tenho muita dificuldade em java, minha lógica é horrivel. gostaria de uma ajuda se puder. O Exercício e esse:

9 - Um programa Java deve criar vetores aleatórios de diferentes tamanhos (usando a biblioteca java.util.Random), ordenar estes dados com dois métodos distintos, contando quantas comparações foram feitas, e imprimindo o total de comparações na tela. Os vetores deverão ter tamanho 1000, 5000, 10000, 50000, 100000 e 500000. Devem ser feitos 5 testes para cada algoritmo e tamanho de vetor, com vetores diferentes. Mostre ao professor ao término da aula.(essa parte de mostrar os exercícios pra ele nao precisa, afinal ele deu pra fazer em casa)

Eu escolhi o QuickSort e o SelectionSort. O conceito deles eu sei, se cair na prova creio que vou bem, mas o meu maior problema é o código. Se puderem me ajudar agradeço! Prova é na quarta que vem (estou estudando nesse fds pq é o unico tmepo que tenho).
Obrigado

2 Respostas

ViniGodoy

Olá, bem-vindo ao fórum.

Por favor, ao postar tópicos:

  1. Dê um título descritivo, que ajude a quem lê a lista de tópicos a saber o que tem aqui dentro. Também evite destacar o óbvio, como AJUDA, SOCORRO ou URGENTE, pois se você não quisesse ajuda, nem teria aberto o tópico;
  2. Descreva qual é a sua dúvida. Você descreveu seu problema, mas não disse onde está empacado. Já tentou fazer alguma coisa do código? Onde está travado? Tente postar pelo menos o trecho de código que já fez (usando sempre as tags code, como explicado aqui).
  3. Jamais poste e-mails no fórum. Lembre-se que o fórum é público e acessível por todos, inclusive bots.

E, lembre-se que a idéia do fórum é a troca de informações. Por isso, deixamos tudo publico. Não solicite ajuda via MSN.

D
import java.util.Comparator;
import java.util.Random;
import trabalho_pota.Trabalho_pota;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author FELIPE
 */
public class NewClass {
   
    public static void main (String[] args){  
        NewClass a = new NewClass();  
          
        a.qsort();
        a.sort();  
    
 
    public static final Random RND = new Random();        
    
    private void swap(Object[] array, int i, int j) {  
        Object tmp = array[i];  
        array[i] = array[j];  
array[j] = tmp;  
    }  
    private int partition(Object[] array, int begin, int end, Comparator cmp) {  
        int index = begin + RND.nextInt(end - begin + 1);  
        Object pivot = array[index];  
        swap(array, index, end);                  
        for (int i = index = begin; i < end; ++ i) {  
            if (cmp.compare(array[i], pivot) <= 0) {  
                swap(array, index++, i);  
        }   }  
        swap(array, index, end);          
        return (index);  
    }  
    private void qsort(Object[] array, int begin, int end, Comparator cmp) {  
        if (end > begin) {  
            int index = partition(array, begin, end, cmp);  
            qsort(array, begin, index - 1, cmp);  
            qsort(array, index + 1,  end,  cmp);  
    }   }  
    public void sort(Object[] array, Comparator cmp) {  
        qsort(array, 0, array.length - 1, cmp);  
    }  
}

Estou pesquisando alguns códigos na net e o que achei proximo foi esse, mas nao entendi, e no momento estou tentando fazer rodar.

Criado 25 de maio de 2012
Ultima resposta 25 de mai. de 2012
Respostas 2
Participantes 2