Depende del idioma que estés usando.
Sin embargo, la mayoría de los idiomas le darán alguna forma de ordenar elementos en función de múltiples atributos.
Si tiene algún tipo de clase de Rango con atributos Nivel, Resultado y Tiempo,
puede escribir un método / función / módulo como CompareTo () que compararía 2 Rangos, y ese método debería devolver algo que le dirá cuál de los dos Rangos es mayor. Por ejemplo, Java (más o menos)
- ¿Qué significa importar en Python? ¿Puedo hacer mi propio algoritmo sin usar importar?
- Además del algoritmo de tallado de costura, ¿qué otros algoritmos se pueden usar para Image Resizer?
- Ahora he leído sobre algoritmos y estructuras de datos como Al Klein me dijo. ¿Qué lenguaje de programación debo aprender?
- ¿Cómo reconocen los programas el nombre usando el procesamiento del lenguaje natural?
- ¿Cómo funciona el algoritmo de despacho de Uber?
el rango de clase{
nivel int;
resultado int;
doble tiempo; (si en segundos o alguna otra medida)
…otros metodos…
public int compareTo (Clasificación para comparar)
{
if (this.level == toCompare.level)
{
if (this.result == toCompare.result)
{
if (this.time == toCompare.time) devuelve 0; // son iguales
return (this.time <toCompare.time? 1: -1)
}
return (this.result> toCompare.result? 1: -1)
}
return (this.level> toCompare.level? 1: -1)
} / end compareTo
} / finalizar clase de rango
Este no es un ejemplo perfecto, y puede que no sea Java sintácticamente correcto, pero la idea es correcta. Si desea definir un sistema de pedido, debe indicarle al código por qué ordenar.
Por cierto, todas las declaraciones de retorno son declaraciones if compuestas. El más interno (por tiempo) está al revés que los otros dos, porque un Rango es mejor que otro si el tiempo es más bajo que el de Comparar Rango. Tampoco necesita otras instrucciones porque una devolución saldrá del método en Java.
técnicamente, el código más corto para la comparación más interna podría ser un compuesto compuesto si, así:
return (this.time == toCompare.time? 0: (this.time <toCompare.time? 1: -1))