Ti interessano le prestazioni dell'algoritmo?

Con un selection sort è facile: basta che quando trovi l'elemento minimo nell'array da ordinare, prima di metterlo al suo posto ti segni il suo indice.

Se devi segnarti gli indici su un quicksort o un mergesort la cosa è più interessante... Ma non puoi banalmente confrontare l'array ordinato con l'array da ordinare? In questo caso però peggiori le prestazioni a O(n^2) e allora tanto vale usare il selection sort...

Aspetta puoi anche fare così: per ogni elemento da ordinare crei un oggetto "coppia" formata dall'elemento stesso e dal suo indice e inserisci queste coppie in un array (in O(n)). Poi ordini l'array con quicksort ed infine scorri l'array ordinato estraendo da ogni coppia il suo indice!

In questo modo mantieni le prestazioni di quicksort.