Ordencao_exemplo 1.0

Referência da Classe QuickSort

Esta é a Classe QuickSort, subproblema da classse QuickSortMestre. Mais...

#include <QuickSort.h>

Diagrama de Hierarquia para QuickSort:
Sort QuickSortMestre

Lista de todos os Membros.

Métodos Públicos

 QuickSort (int peq, Vetor *vet, int ini, int fim)
 Construtor da Classe QuickSort que atuará como sub-Problema.
virtual ~QuickSort ()
 Destrutor da classe QuickSort.
void divide (Solucao &s, vector< Problema * > &vectSubPro, vector< Solucao * > &vectSubSol) const
 Método que divide o problema em subProblemas.
void combina (vector< Solucao * > &, Solucao *) const
 Método que combina as sub-Soluções.
void limpaSub (vector< Problema * > &) const
 Método que limpa a memória alocada para os subProblemas.
void imprime () const
 Imprime o vetorDesordenado na tela.
virtual int geraPivo (const Solucao &s) const
 Gera o Pivô para ser usado no método divide.

Descrição Detalhada

Esta é a Classe QuickSort, subproblema da classse QuickSortMestre.

QuickSort é derivado da Classe Sort.

Autor:
Bráulio Miranda Veloso
Desde:
16/02/2011
Versão:
1.0

Construtores & Destrutores

QuickSort::QuickSort ( int  peq,
Vetor vet,
int  ini,
int  fim 
)

Construtor da Classe QuickSort que atuará como sub-Problema.

Parâmetros:
peqvalor de quando uma partição é pequena.
*vetponteiro para um Vetor.
iniprimeiro valor válido do Vetor vet.
fimultimo valor válido do Vetor vet.
QuickSort::~QuickSort ( ) [virtual]

Destrutor da classe QuickSort.


Métodos

void QuickSort::combina ( vector< Solucao * > &  vectSubSol,
Solucao *  s 
) const [virtual]

Método que combina as sub-Soluções.

No quickSort não é necessário implementar nada para se unir as sub-Soluções pois a ordenação está no divide, e cada sub-Solução só contém o ponteiro para o vetorOrdenado principal, o qual já sai ordenado dos métodos divide e geraSolucao. Portanto este método só desaloca a memória das sub-Soluções.

Implementa Sort.

void QuickSort::divide ( Solucao &  s,
vector< Problema * > &  vectSubPro,
vector< Solucao * > &  vectSubSol 
) const [virtual]

Método que divide o problema em subProblemas.

Este método divide o problema em dois sub-Problemas, os sub-problemas são gerados a partir do pivo, os valores do primeiro sub-Problema são menores ou iguais que o pivo, e os valores do segundo são maiores ou iguais.

Implementa Sort.

int QuickSort::geraPivo ( const Solucao &  s) const [virtual]

Gera o Pivô para ser usado no método divide.

Este método não gera um índice, mas um valor real do vetorDesordenado. Este método escolhe o valor pelo primeiro índice, mas pode ser outro se o programador derivar está classe e sobrescrever este método.

Parâmetros:
&sé a Solução ao qual será retirado o valor do meio.
void QuickSort::imprime ( ) const

Imprime o vetorDesordenado na tela.

void QuickSort::limpaSub ( vector< Problema * > &  vectSubPr) const [virtual]

Método que limpa a memória alocada para os subProblemas.

Implementa Sort.


A documentação para esta classe foi gerada a partir dos seguintes arquivos:
 Todos Classes Arquivos Funções Variáveis