Ordenar una matriz en Java

Pregunta 3:

El hecho es que cada colección funciona con un comparador predefinido, que está implícitamente definido en el E, por lo que cada clase que se utilizará para concretar el parámetro de tipo Edebería hacerlo implement Comparable<E>. El método de comparación que está buscando es un método natural.

int compareTo(E other)

eso debe ser implementado por las clases que va a utilizar con su estructura de datos. Dado que su trabajo no está relacionado con la definición de clases que se utilizarán con su colección, sino solo con la colección en sí misma, lo que va a hacer

public class MySortedSet<E> ... {
    private Comparator<? super E> _comparator;

    public int innerCompare(E e1, E e2)
    {
      if (_comparator != null)
        return _comparator.compare(e1,e2);
      else
        return e1.compareTo(e2);
    }

    ...

Para que pueda utilizar un comparador personalizado cuando se proporciona, el natural de lo contrario.

Ambos Comparabley Comparatorfuncionan siguiendo el mismo principio, pero el primero, como su nombre lo indica, se adjunta a una clase de datos, por lo que es su comparador natural. El último, en cambio, se usa porque le permite definir una forma personalizada de ordenar elementos que se ordenarían de manera diferente de acuerdo con el orden natural.

Pregunta 4:

Lo que significa es que, bajo el supuesto de tener una matriz ordenada, solo debe mantener esta restricción válida después de cada inserción y se le permitirá hacer una búsqueda binaria cuando busque elementos.

Debe centrarse solo en colocar los elementos en el índice correcto (el elemento que debe agregar). La parte de la declaración relacionada con la búsqueda de elementos debe interpretarse de la siguiente manera:

Si se ocupa de mantener su matriz ordenada, eso se puede hacer asegurándose de que cada elemento que agregue se coloque en la posición correcta (por ejemplo, con clasificación de inserción), entonces puede aplicar la búsqueda binaria en la matriz cuando se mira si un elemento está contenido en el conjunto.

Esto es cierto porque, si la matriz está ordenada, puede estar seguro de que mirar el elemento central de una sección de la matriz siempre lo dirigirá a la dirección correcta para ver si otro elemento está realmente contenido en la lista.

P.EJ:

1, 2, 6, 11, 21, 30, 45

Debe verificar 2, puede tomar el elemento en el índice size()/2 = 3, que es 11. Como ya sabe que la matriz está ordenada y 2 < 11puede hacer lo mismo de forma recursiva en la mitad izquierda, etc.

Respuesta 1

Llevo un tiempo intentando conectarme a mi base de datos y creo que estoy bastante cerca. Pero com.mysql.jdbc.Driver se niega a cargar. Aquí está mi código: import java.sql. *; import com.apple.eawt. *; ...

Estoy convirtiendo una aplicación web Java Servlet a php. ¿Cómo debo convertir los siguientes comandos de Java a PHP? Cadena temp = request.getParameter ("q"); Cadena temp2 = URLDecoder.decode (temp, "UTF -...

Tengo un formato de fecha diferente para analizar, pero no puedo reconocerlos con SimpleDateFormat. ¿Alguien puede ayudarme a encontrar patrones para estas fechas? 6 de julio de 1892 9 de mayo de 1915 Febrero 335 1768-02-12 ...

Estoy tratando de implementar una funcionalidad para que el usuario después de un inicio de sesión exitoso sea redirigido a la misma ubicación desde donde haga clic en el botón Iniciar sesión. Estoy usando Spring MVC y para iniciar sesión en ...