miércoles, 21 de julio de 2010

Metodo SHELL para c++

#include stdio.h //acomodar la librería
void shellsort(int [], int );
int main(){
int a[50], n, i;
printf("METODO DE ORDENAMIENTO POR SHELL (sin errores)\n");
printf("Cuantos elementos quieres crear en el array?","(max 50): ");
scanf("%d", &n);
fflush(stdout);
puts("Introduce valores para el array y presiona ENTER");
for (i=0; i < n; i++) scanf("%d", &a[i]);
shellsort(a, n);
puts("--------Array Ordenado--------");
for (i=0; i < n; i++) printf("%d\n", a[i]);
printf("\n");
return 0;
}
void shellsort(int a[], int n){
int d, temp, i;
d=n/2;
while (d>=1) {
for (i=0;i < n-d;i++) {
if (a[i] > a[i+d]) {
temp=a[i];
a[i]=a[i+d];
a[i+d]=temp;
}
}
if(d==1)
return;
d=d/2.0+0.5;
}
}

No hay comentarios:

Publicar un comentario