public class Ordenamiento { public static void burbuja( int arreglo[] ) { for( int i = 1; i < arreglo.length; i++ ) { for( int j = 0; j < arreglo.length-1; j++ ) { if( arreglo[j] > arreglo[ j + 1 ] ) { int aux = arreglo[j]; arreglo[j] = arreglo[ j + 1]; arreglo[j+1] = aux; } } } } public static void quickSort(int arreglo[], int izq, int der ) { int i = izq; int j = der; int pivote = arreglo[( izq + der ) / 2]; do { while( arreglo[i] < pivote ) i++; while( arreglo[j] > pivote ) j--; if( i <= j ) { int aux = arreglo[i]; arreglo[i] = arreglo[j]; arreglo[j] = aux; i++; j--; } } while( i <= j ); if( izq < j ) quickSort(arreglo, izq, j); if( i < der ) quickSort(arreglo, i, der); } public static void seleccionDirecta( int arreglo[] ) { for( int i = 0; i < arreglo.length-1; i++ ) { int menor = arreglo[i]; int pos = i; for( int j = i + 1; j < arreglo.length; j++ ) { if( arreglo[j] < menor ) { menor = arreglo[j]; pos = j; } } arreglo[pos] = arreglo[i]; arreglo[i] = menor; } } public static void inserccionDirecta( int arreglo[] ) { for( int i = 1; i < arreglo.length; i++ ) { int aux = arreglo[i]; int j = i - 1; while( j >= 0 && aux < arreglo[j] ) { arreglo[ j + 1 ] = arreglo[j]; j--; } arreglo[j + 1 ] = aux; } } public static void shellSort( int arreglo[] ) { for( int gap = arreglo.length / 2; gap > 0; gap = gap == 2 ? 1: (int) (gap / 2.2) ) { for( int i = gap; i < arreglo.length; i++ ) { int tmp = arreglo[i]; int j; for( j = i; j >= gap && tmp < arreglo[j-gap]; j -= gap ) { arreglo[j] = arreglo[j-gap]; } arreglo[j] = tmp; } } } }