Título: POO ordenación de arreglos Publicado por: SojatDotar en 28 Febrero 2016, 15:53 pm Buenas, tengo una duda, si tengo una clase llamada Estudiante, con los atributos privados y quisiera ordenar de menor a mayor en un procedimiento un arreglo de Estudiante
Código: struct Estudio Título: Re: POO ordenación de arreglos Publicado por: ivancea96 en 28 Febrero 2016, 16:50 pm Ordenar implica 2 cosas básicas: intercambios y comparaciones.
En un arreglo de tipos nativos: Código
En tu clase Estudiante, por ejemplo: Código
Al final es lo mismo. Solo elige cómo lo quieres comparar. Lueog ya, dependerá todo de qué quieras haces exactamente. Título: Re: POO ordenación de arreglos Publicado por: SojatDotar en 28 Febrero 2016, 18:02 pm y en caso que también quiera ordenar el struct que esta dentro de la clase?
Título: Re: POO ordenación de arreglos Publicado por: ivancea96 en 28 Febrero 2016, 18:20 pm Tendrás que comparar las estructuras, del modo que quieras. Si no quieres andar comaprando una a una, haz un método del tipo compareTo(x). Generalmente este tipo de funciones devuelven -1, 0 0 1, según sea menor, igual o mayor.
Hay otra forma, que no es muy lógica (en este caso), pero te puede servir, y son los operadores. Código
Casi todos los operadores son sobrecargables. Por ejemplo, <,>,>=,<=,==,!=,>>,<<, operador coma (,), [], (), &,|,^,||,&&, ... Algunos, como el operador (), te permite enviarle más deun parámetro. Atu estructura Estudio le puedes añadir un par de operadores del tipo: Código
Título: Re: POO ordenación de arreglos Publicado por: SojatDotar en 28 Febrero 2016, 18:24 pm Gracias, en el primer ejemplo cuando pusiste Estudiante K = Arr no entendí bien ese ejemplo
Otra pregunta se haría tal cuál si lo hago con procedimientos? es decir un void que ordene por tiempo, otra que ordene por curso y otra que ordene por edad ? Título: Re: POO ordenación de arreglos Publicado por: ivancea96 en 28 Febrero 2016, 23:22 pm Lo de Estudiante K = arr[ i ] es paraintercambiar valorses. k sería una variable temporal donde almacenar el valor a itnercambiar.
Y sí, puedes hacer 4 funciones, al final solo tendrás que cambiar un par de detalles en cada una. Si te referías a otra cosa, no entendí muy bien. |