tenemos unaC# más rápido de clasificación de SortedList <>
SortedList<Resource, Resource> resources =
new SortedList<Resource, Resource>(new ResourceIdle());
que utilizamos en nuestra simulación. Esta lista de recursos se inicializa de esta forma porque queremos pasar diferentes comparadores en cualquier momento. El primer problema que tenemos es que el SortedList<>
requiere una comparación adicional dentro del comparador para que podamos agregar diferentes instancias de Resource
con las mismas propiedades. Por ejemplo, si el comparador parece:
public int Compare(Resource x, Resource y)
{
int priority1 = x.Priority;
int priority2 = y.Priority;
if (priority1 > priority2) {
return -1;
} else if (priority1 < priority2) {
return 1;
} else {
return (x.Id.CompareTo(y.Id));
}
}
entonces tenemos que hacer la comparación adicional cuando las prioridades son los mismos de otro modo volvamos una excepción para una entrada con la misma clave. Entonces mi pregunta es, ¿hay otra forma de lograr esto? Y como una pregunta secundaria ¿hay algo más rápido que el SortedList<>
para pedir una gran cantidad de objetos?
Cuántos prioridades diferentes hay? –
El número de prioridades está definido por el usuario. Puede haber 3 o 10. Realmente depende del modelo. – Dimitris