Questão
ID 886221Disciplina: Tecnologia da Informação
Assunto: Shellsort (Gap)
Ano: 2014 Banca: FUNCAB - Fundação Professor Carlos Augusto Bittencourt Órgão: Polícia Civil de Rondônia
Um programador utilizou o código a seguir, escrito em C, para ordenar um vetor de tamanho médio.
void ordenar(int *vetor, int tamanho) { int x , y , valor; int intervalo= 1; while(intervalo <tamanho) { intervalo= 3*intervalo+1; } while (intervalo> 1) { intervalo/= 3; for(x= intervalo; x < tamanho; x++) { valor= vetor[x]; y = x- intervalo; while (y >= 0 && valor< vetor[y]) { vetor [ y +intervalo]= vetor[y]; y-= intervalo; } vetor [y +intervalo]= valor; } } } |
O algoritmo em que o código se baseia utiliza um método de quebra sucessiva da sequência a ser ordenada e implementação da ordenação por inserção na nova sequência obtida , sendo denominado: