La solución de Zach es muy buena.
Aún así, me preguntaba por qué hay alguna necesidad de ordenar. Si tiene la permutación de los índices, use los valores como un puntero a la matriz anterior.
Esto puede eliminar la necesidad de ordenar la matriz en primer lugar. Esta no es una solución que se pueda usar en todos los casos, pero funcionará bien en la mayoría de los casos.
Por ejemplo:
a = [45,89,22,31,23,76];
b = [5,3,2,1,0,4]
Ahora si quieres lop través de los valores en un, se puede hacer algo como (pseudo-código):
for i=0 to 4
{
process(a[i]);
}
Si desea recorrer los valores en el orden nuevo, hacer:
for i=0 to 4
{
process(a[b[i]]);
}
Como se mencionó Por lo tanto, esta solución puede ser suficiente en muchos casos, pero puede no serlo en algunos otros casos. Para otros casos, puede usar la solución de Zach.Pero para los casos en los que se puede usar esta solución, es mejor porque no se necesita ninguna clasificación.
Una pregunta típica para una entrevista técnica. – Frank
Es mejor saberlo :) – tunnuz