Me gustaría mantener un conteo de cuántas veces se utilizó el objeto, y en qué orden se utilizó.
Por lo tanto, si el objeto X se usó en tercer lugar, promedielo con el conteo de ejecución y usa el resultado como su posición en la lista.
Por ejemplo:
Item Uses Order of Use
---------------------------------------
Object X 10 1,2,3,1,2,1,3,1,2,2 (18)
Object Y 10 3,1,2,3,3,3,1,3,3,1 (23)
Object Z 10 2,3,1,2,1,2,2,2,2,3 (20)
usos serían el número de veces que el usuario utiliza el objeto, el orden de uso sería una lista (o suma) de donde se utiliza la posición de la orden.
El uso de una lista de cada pedido individualmente podría tener algunos problemas de rendimiento, por lo que es posible que desee mantener una suma de las posiciones. Si mantiene una suma, simplemente agregue la orden a esa suma cada vez que use el objeto.
Para calcular la posición, entonces simplemente usaría la suma de las posiciones, dividida por el número de usos y tendría su promedio. Todo lo que tendrías que hacer en ese punto es ordenar la lista por el promedio.
En el ejemplo anterior, se obtendría los siguientes promedios (y fin):
Object X 1.8
Object Z 2.0
Object Y 2.3
Eso es realmente amplio. ¿Tiene una idea de lo que está buscando específicamente? ¿Tiene la intención de ordenar por columnas preferidas? ¿O usar más de un enfoque heurístico? –
'List .Sort()?' –
Habib
¿Son estos objetos del mismo tipo? Probablemente pueda crear una clase base que todos los tipos de objetos heredarán y que expondrá la propiedad (int) UsageCount.A continuación, puede aumentar esto en cada uso y orden por – Dimitri