Foros del Web » Programación para mayores de 30 ;) » C/C++ »

¿Pseudocodigo a lenguaje C?

Estas en el tema de ¿Pseudocodigo a lenguaje C? en el foro de C/C++ en Foros del Web. ¿Alguien puede pasar este pseudocodigo a C? (si no es mucha molestia). Es el algoritmo de ordenamiento shell, pero todos los ejemplos que encuentro en ...
  #1 (permalink)  
Antiguo 15/10/2012, 00:38
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta ¿Pseudocodigo a lenguaje C?

¿Alguien puede pasar este pseudocodigo a C? (si no es mucha molestia).
Es el algoritmo de ordenamiento shell, pero todos los ejemplos que encuentro en Internet en C, son un verdadero desastre :c...
(solo necesito el algoritmo todo lo extra lo agregare yo)

Código Pseudocodigo:
Ver original
  1. h = 1
  2. while h < n, h = 3*h + 1
  3. while h > 0,
  4.     h = h / 3
  5.     for k = 1:h, insertion sort a[k:h:n]
  6.     → invariant: each h-sub-array is sorted
  7. end

Bueno... después de unos días encontré la respuesta... la dejo por si alguien la necesita:
Código C:
Ver original
  1. void shellSort(int * vet, int size) {
  2.     int i , j , value;
  3.     int gap = 1;
  4.     do {
  5.         gap = 3*gap+1;
  6.     } while(gap < size);
  7.     do {
  8.  gap /= 3;
  9.  for(i = gap; i < size; i++) {
  10.             value =vet[i];
  11.             j = i - gap;
  12.             while (j >= 0 && value < vet[j]) {
  13.                 vet [j + gap] =vet[j];
  14.                 j -= gap;
  15.             }
  16.             vet [j + gap] = value;
  17.         }
  18.     } while ( gap > 1);
  19. }

Última edición por m4rc05; 17/10/2012 a las 22:21

Etiquetas: int, lenguaje
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:23.