@Test(timeout = TIMEOUT)
  public void testRadixSort() {
    int[] arrZero = new int[0];
    arrZero = Sorting.radixSort(arrZero);
    assertEquals(0, arrZero.length);
    int[] arrOne = new int[1];
    arrOne[0] = 4;
    arrOne = Sorting.radixSort(arrOne);
    assertEquals(1, arrOne.length);
    assertEquals(4, arrOne[0]);

    Random rand = new Random();
    for (int i = 0; i < 50; i++) {
      int arrlen = rand.nextInt(1000) + 2;
      int[] arrMany = new int[arrlen];
      int[] arrManySorted = new int[arrlen];
      for (int j = 0; j < arrlen; j++) {
        arrMany[j] = rand.nextInt(200) - 90;
      }
      System.arraycopy(arrMany, 0, arrManySorted, 0, arrlen);
      Arrays.sort(arrManySorted);
      arrMany = Sorting.radixSort(arrMany);
      assertArrayEquals(arrManySorted, arrMany);
    }
  }
Ejemplo n.º 2
0
  /** @param args */
  public static void main(String[] args) {
    Datos[] numeros = new Datos[3000]; // creamos una lista de objetos de tipo Datos
    try {
      // indicamos la direccion y el nombre del archivo a leer
      FileReader lector =
          new FileReader(
              "D:\\Users\\MARLON\\Documents\\UVG\\4to Semestre\\Algoritmos y Estructuras de Datos\\Hoja3\\src\\Hoja3\\texto.txt");
      // El contenido de lector se guarda en un BufferedReader
      BufferedReader contenido = new BufferedReader(lector);

      // instanciamos cada objeto y le colocamos el valor que lee del txt
      for (int a = 0; a <= 2999; a++) {
        numeros[a] = new Datos(Integer.parseInt(contenido.readLine()));
      }
      // usamos un algoritmo de sorting para ordenar la lista
      Sorting.radixSort(numeros);

      // recorremos cada objeto de la lista y luego extraemos su valor para imprimirlo
      for (Datos numero : numeros) {
        System.out.println(numero.getDato());
      }

      lector.close(); // cerramos el lector del archivo
    }
    // Si se causa un error al leer cae aqui
    catch (Exception e) {
      System.out.println("Error al leer el archivo.");
    }
  }