Imagem de fundo

Um programador utilizou o código a seguir, escrito em C, para ordenar um vetor de taman...

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:


A

shellsort.


B

bubblesort.


C

heapsort.


D

quicksort.


E

mergesort.