Buscar

Ordenação por shellSort

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include <stdio.h>
void shell(int *p, int tamanho){
	int i ,j,gap,k;
	int x;
	int a[5];
	a[0] = 9;
	a[1] = 5;
	a[2] = 3;
	a[3] = 2;
	a[4] = 1;
	for(k=0;k<5;k++){
		gap = a[k];
		for(i = gap;i<tamanho;++i){
			x = p[i];
			for(j=i-gap;x<p[j]&&j>=0;j=j-gap)
				p[j+gap] = p[j];
			p[j+gap] = x;
		}
	}
}
int main(){
	int vetor[12] = {17, 42, 9, 33, 12,54,65,23,54,76,1,22};
	int *v = vetor;
	shell(v,12);
	for(int i = 0;i<12;i++){
		printf("%d\n",v[i]);
	}
	return 0;
 }

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando