Métodos De Ordenamiento
2. ESTRUCTURA DE DATOS
3. El método de sacudida es una optimización del método de intercambiodirecto o burbuja. En este algoritmo cada pasada tiene dos etapas. En la primera etapa "de derecha a izquierda" se trasladan los elementos más pequeños hacia laparte izquierda del arreglo, almacenando en una variable la posición del último elemento intercambiado. Ordenamiento ESTATICO I método de sacudida (Shaker sort)
4. Enla segunda etapa "de izquierda a derecha" se trasladan los elementos más grandes hacia la parte derecha del arreglo, almacenando en otra variable la posicióndel último elemento intercambiado. El algoritmo termina cuando en una etapa no se producen intercambios o bien, cuando el contenido de la variable que almacena elextremo izquierdo del arreglo es mayor que el contenido de la variable que almacena el extremo derecho.
5. void sacudida (itemType a[], int N){ int i, j, izq, der,aux; izq = 2; der = N; j = N; do { for(i = der; i >= izq; i--) if (a[i - 1] > a[i]) { swap (a, i, i -1); j =i; } izq= j + 1; for(i = izq; i a[i]) { swap (a, i, i -1) j = i; } der= j - 1; } while (izqleft) { i = partition (a, left, right); if (i - left > right - i) { sf.push (left);sf.push (i - 1); left = i + 1; }else { sf.push (i + 1); sf.push (right); right = i - 1; } } if (sf.empty ()) break; right = sf.pop (); left = sf.pop (); } }
Regístrate para leer el documento completo.