Ordencao_exemplo 1.0

Sort.h

Vá para a documentação deste arquivo.
00001 
00002 
00009 #ifndef SORT_H_
00010 #define SORT_H_
00011 
00012 #include "Problema.h"
00013 #include "Vetor.h"
00014 #include "Solucao.h"
00015 
00016 class Sort :public Problema {
00017 private:
00018         int valorPequeno;
00019 protected:
00020         Vetor* vetorDesordenado; 
00021         int indPrim,                    
00022                 indUlt;                         
00023 public:
00025         Sort( int, Vetor*, int, int );
00027         virtual ~Sort();
00029 
00034         void geraSolucao( Solucao& ) const;
00036         virtual void divide( Solucao&, vector<Problema*>&, vector<Solucao*>& ) const = 0;
00038         virtual void combina( vector<Solucao*>&, Solucao* ) const = 0;
00040 
00043         int ehPequeno() const;
00045         virtual void limpaSub( vector<Problema*>& ) const = 0;
00047         /*
00048          * Este método ordena do indPrim até o indUlt.
00049          * Inicialmente compara as duas primeiras posições, depois vai aumentando o tamanho uma a uma, como se fossem cartas.
00050          * Compara as últimas cartas colocando sempre a menor pra frente. Analogamente como uma armação de um baralho de cartas.
00051          * Têm complexidade O(n²).
00052          */
00053         void insertSort( Solucao& s ) const;
00055         int valorPeq() const;
00056 };
00057 
00058 #endif /* SORT_H_ */
 Todos Classes Arquivos Funções Variáveis