APS - Ordenação

381 palavras 2 páginas
ShellSort
-void shellSort(Geo*, integer)

A função shell sort recebe como parâmetro uma structGeo*( ), e um inteiro size. Tendo como variáveis i, h e i do tipo inteiro, e value do tipo structGeo, que é utilizada como auxiliar na troca de posições. Variavel h recebe o valor de um e logo em seguida entra em um laço while onde tem a seguinte condição : enquanto (h < size) { h = 3* h + 1}. Por exemplo, o valor de size é 10, e h esta valendo 1, ao cair no laço while, h recebe o valor de 3*h+1 ( 3*1+1), sendo igual a 4. Como h ainda é menor que 10, repete outra vez, 3*h+1( 3*4+1), sendo igual a 13. Agora h é maior que 10, então h sai do laço while e vai para a próxima etapa que é entra em outro while, desta vez a repetição será enquanto h for maior que 1.
Dentro do laço, h é dividido por 3, desconsiderando o resto, e vai para o laço for, onde fica a seguinte condição : para(i=0 até size passo 1); value recebe qGeo[i], e j recebe i – h, e vai para o laço interno while com a seguinte condição : enquanto(j >= 0 ^ value.variavel < qGeo[j].variavel), qGeo[j+h] recebe qGeo[j], e j recebe j – h, e sai o while; e ainda dentro do for qGeo[j+h] = value;
Por exemplo, como h está valendo 13, ao entrar no laço é dividido por 3 e entra vai para a próxima etapa que é o laço for, onde i = h(4) e vai até size acrescentando de um em um; value recebe qGeo[i]; e j = i(4) – h(4); e entra no laço interno while, onde sua condição ( j >= 0 && value.variavel < qGeo[j].variavel) {qGeo[j(0)+h(4) = qGeo[j(0)]; j = j(0) – h(4); } dentro do for qGeo[j(0)+h(4) = value;
Na próxima estapa, agora é i = 5 e vai até size acrescentando de um em um; value recebe qGeo[i(5)]; e j = i(5) – h(4); e entra no laço interno while, onde sua condição ( j >= 0 && value.variavel < qGeo[j(].variavel) {qGeo[j(1)+h(4) = qGeo[j(1)]; j = j(1) – h(4); } dentro do for qGeo[j(1)+h(4) = value;
E segue este método sucessivamente até que seja ordenado.

Relacionados

  • Aps Ordenação
    833 palavras | 4 páginas
  • APS ORDENAÇAO DE DADOS
    4300 palavras | 18 páginas
  • APS UNIP Ordenaçao
    3542 palavras | 15 páginas
  • APS - ORDENAÇÃO DE DADOS
    2255 palavras | 10 páginas
  • 20120516 APS Ordenacao
    5815 palavras | 24 páginas
  • APS Ordenação de Dados
    831 palavras | 4 páginas
  • Aps em java - ordenação de dados
    921 palavras | 4 páginas
  • Aps unip cc ordenação de dados
    5487 palavras | 22 páginas
  • APS 5º/6º semestre - Ordenação de dados
    2551 palavras | 11 páginas
  • aps DESENVOLVIMENTO DE SISTEMA PARA ANÁLISE DE PERFORMANCE DE ALGORITMOS DE ORDENAÇÃO DE DADOS
    2797 palavras | 12 páginas