|
Ordencao_exemplo 1.0
|
Esta é a Classe QuickSort, subproblema da classse QuickSortMestre. Mais...
#include <QuickSort.h>
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. | |
Esta é a Classe QuickSort, subproblema da classse QuickSortMestre.
QuickSort é derivado da Classe Sort.
| QuickSort::QuickSort | ( | int | peq, |
| Vetor * | vet, | ||
| int | ini, | ||
| int | fim | ||
| ) |
| QuickSort::~QuickSort | ( | ) | [virtual] |
Destrutor da classe QuickSort.
| 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.
| &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.