Método de Ordenação
É um algoritmo que coloca em ordem uma sequência qualquer.
Existem varias razões para se ordenar uma sequência. Uma delas é a possibilidade de acessar seus dados de modo mais eficiente.
TIPOS DE ORDENAÇÃO
Ordenação por inserção: É um método de ordenação que procura sucessivos elementos que se encontra fora de ordem, esse modo de ordenação é o mais básico.
A principal característica desse método consiste em ordenar um conjunto de elementos, utilizando um subconjunto ordenado localizado em seu inicio, acrescentamos a este subconjunto mais um elemento, ate que atingimos o ultimo elemento do conjunto fazendo o conjunto se tornar ordenado.
EXEMPLO DE IMPLEMENTAÇÃO EM C++: void SortMethods : : I n s e r t S o r t (TItem _Array , long n) { long i , j ;
TItem aux ;
CTimer _Timer = new CTimer ( ) ; this>Cl e a rAl l ( ) ;
Timer>s t a r t ( ) ; for ( i = 1 ; i < n ; i++){ aux = Array [ i ] ; this>mMoviments++; j = i 1 ; this>mComparations++; while ( ( j >= 0 ) && ( aux .Key < Array [ j ] . Key ) ) {
Array [ j + 1 ] = Array [ j ] ; this>mMoviments++; j;
}
Array [ j + 1 ] = aux ; this>mMoviments++; }
Timer>s top ( ) ; this>mTime = Timer>getElapsedTime ( ) ;
Ordenação por seleção: Tem como principio de funcionamento selecionar o menor item do vetor e a seguir trocá-lo pela primeira posição do vetor. A principal diferença deste métodos em relação aos ordenação por inserção e por troca que ele realiza apenas uma troca por iteração.
A colocação do item no seu lugar correto na sequência ordenada, é realizada trocando o item de menor valor pela primeira posição do vetor.
EXEMPLO DE IMPLEMENTAÇÃO EM C ++: void SortMethods : : S e l e c t S o r t (TItem _Array , long n) { long i , j , Min ;
TItem aux ;
CTimer _Timer = new CTimer ( ) ; this>Cl e a rAl l ( ) ;
Timer>s t a r t ( ) ; for ( i = 0 ; i < n 1 ; i++){
Min = i ; for ( j = i + 1 ; j < n ; j++){
this>mComparations++;