Yes it is, if you sort using an array of sort keys.
Array.Sort (keysArray,originalArray)
And at the time of return sorting, you know the array of keys.
Array.Sort (keysArraySort,newArray)