|
Ordencao_exemplo 1.0
|
Esta é a Classe Sort. A ordenação é um tipo problema D&C. Mais...
#include <Sort.h>
Métodos Públicos | |
| Sort (int, Vetor *, int, int) | |
| Construtor da Classe Sort. | |
| virtual | ~Sort () |
| Destrutor da classe Sort. | |
| void | geraSolucao (Solucao &) const |
| Método que gera uma Solução. | |
| virtual void | divide (Solucao &, vector< Problema * > &, vector< Solucao * > &) const =0 |
| Método abstrato divide. | |
| virtual void | combina (vector< Solucao * > &, Solucao *) const =0 |
| Método abstrato combina. | |
| int | ehPequeno () const |
| Método que verifica se o problema é pequeno. | |
| virtual void | limpaSub (vector< Problema * > &) const =0 |
| Método abstrato limpaSub. | |
| void | insertSort (Solucao &s) const |
| Método de ordenação por inserção. | |
| int | valorPeq () const |
| Retorna o valor da variável valorPequeno. | |
Atributos Protegidos | |
| Vetor * | vetorDesordenado |
| Ponteiro para receber a referência do Vetor desordenado. | |
| int | indPrim |
| Inteiro para guardar referência ao primeiro índice válido no vetorDesordendo. | |
| int | indUlt |
| Inteiro para guardar referência ao último índice válido no vetorDesordendo. | |
Atributos Privados | |
| int | valorPequeno |
Esta é a Classe Sort. A ordenação é um tipo problema D&C.
Sort é derivada da interface Problema.
| Sort::Sort | ( | int | valorPeq, |
| Vetor * | vet, | ||
| int | indP, | ||
| int | indU | ||
| ) |
| Sort::~Sort | ( | ) | [virtual] |
Destrutor da classe Sort.
| virtual void Sort::combina | ( | vector< Solucao * > & | , |
| Solucao * | |||
| ) | const [pure virtual] |
| virtual void Sort::divide | ( | Solucao & | , |
| vector< Problema * > & | , | ||
| vector< Solucao * > & | |||
| ) | const [pure virtual] |
| int Sort::ehPequeno | ( | ) | const |
Método que verifica se o problema é pequeno.
Este método retorna 1 se o problema é pequeno e 0 se o não é.
| void Sort::geraSolucao | ( | Solucao & | s | ) | const |
Método que gera uma Solução.
Este método gera a solução quando o problema é pequeno, utilizando o insertSort. No caso de ordenação, quando um problema é pequeno um algoritmo O(n²) pode ser mais rápido que um O(n log n). Portanto quando é pequeno podemos usar o algoritmo quadrático insertSort.
| void Sort::insertSort | ( | Solucao & | s | ) | const |
Método de ordenação por inserção.
| virtual void Sort::limpaSub | ( | vector< Problema * > & | ) | const [pure virtual] |
| int Sort::valorPeq | ( | ) | const |
Retorna o valor da variável valorPequeno.
int Sort::indPrim [protected] |
Inteiro para guardar referência ao primeiro índice válido no vetorDesordendo.
int Sort::indUlt [protected] |
Inteiro para guardar referência ao último índice válido no vetorDesordendo.
int Sort::valorPequeno [private] |
Vetor* Sort::vetorDesordenado [protected] |
Ponteiro para receber a referência do Vetor desordenado.