Le problème: Consder la suite de flotteurs[]:
d[i] = 1.7 -0.3 2.1 0.5
Ce que je veux, c'est un tableau de int[] qui représente l'ordre du tableau original avec des indices.
s[i] = 1 3 0 2
d[s[i]] = -0.3 0.5 1.7 2.1
Bien sûr, il pourrait être fait avec un comparateur, un ensemble trié des objets personnalisés, ou tout simplement en triant le tableau et ensuite chercher les indices dans le tableau d'origine (frisson).
Ce que je suis en fait à la recherche est l'équivalent pour le second retour de l'argument de Matlab la fonction de tri.
Est-il un moyen facile de le faire (<5 LOC)? Peut-il y avoir une solution qui n'a pas besoin d'allouer un nouvel objet pour chaque élément?
Mise à jour:
Merci pour vos réponses. Malheureusement, rien de ce qui a été proposé jusqu'à présent ressemble à la solution simple et efficace, j'espérais. J'ai donc openened un thread dans le JDK commentaires du forum, en proposant l'ajout d'une nouvelle classe-fonction de la bibliothèque pour résoudre le problème. Permet de voir ce que Sun/Oracle pense de la question.
http://forums.java.net/jive/thread.jspa?threadID=62657&tstart=0