// Lab08.java (c) 2000 adolfo@di-mare.com /** @(#)Lab08.java 2007 Métodos de ordenamiento {@code Burbuja()}, {@code Seleccion()} e {@code Insercion()}. @author Adolfo Di Mare */ import java.io.*; // Clases para leer desde el teclado import java.lang.System; // Esta siempre la importa Java /** Clase que contiene el programa principal {@code main()}. */ public class Lab08 { /** Ordena ascendentemente el vector {@code V[]} utilizando el método de la burbuja.
  • La cantidad de valores almacenados en \c V[] es \c "n". */ static void Burbuja( int[] V ) { int n = V.length; // largo del vector Despliega(V, n, n); for (int i=n; i>0; ) { --i; for (int j=0; j V[j+1] V[j+1] = temp; } } Despliega(V, i, n); } } // Burbuja() /** Ordena ascendentemente el vector {@code V[]} utilizando el método de selección. */ static void Seleccion( int[] V ) { int n = V.length; // largo del vector Despliega(V, n, n); for (int i=0; i V[mrk] V[mrk] = temp; } Despliega(V, i+1, n); } } // Seleccion() /** Ordena ascendentemente el vector {@code V[]} utilizando el método de inserción. */ static void Insercion( int[] V ) { int n = V.length; // largo del vector int min_val; Despliega(V, 1, n); for (int i=1; i 0) && (V[j-1] > min_val)) { V[j] = V[j-1]; j = j-1; } V[j] = min_val; Despliega(V, i+1, n); } } /** Graba con {@code System.out} los primeros {@code "n"} valores almacenados en {@code V[]}.
  • Pone un punto "." de marca en la posición {@code V[mk]}. */ static void Despliega( int[] V, int mk, int n ) { if ( false ) { return; } // true <==> Jeliot int ancho = 4; System.out.print( "\n[MRK=" + (mk) + "] ==>" ); for (int i=0; i0) { System.out.print( " ." + (V[i]) ); } else { System.out.print( " " + V[i] ); } } if (mk==n) { System.out.print( "." ); } } /** Programa principal. */ public static void main( String args[] ) { { System.out.println(); int Vint[]= { 5,2,4,1,7,3,6,8 }; Burbuja( Vint ); System.out.println(); } { System.out.println(); int Vint[]= { 5,2,4,1,7,3,6,8 }; Seleccion( Vint ); System.out.println(); } { System.out.println(); int Vint[]= { 5,2,4,1,7,3,6,8 }; Insercion( Vint ); System.out.println(); } return; } // main() } // NOTA: Para ejecutar use el comando: // > java Lab08 // [en la pantalla de interacciones del DrJava] // Jeliot: // - http://cs.joensuu.fi/jeliot/javaws/jeliot.jnlp // EOF: Lab08.java