I find most of these answers correct, but without previous knowledge of the size of the array, I would do things differently.
In the enclosed VI, a cluster is formed of all array values and their index. When the array is then sorted, the first cluster element is used as the first sort criterium, then the second cluster element. This allows a single array operation (Sorting) to take care of any searching, whilst the cluster retains the index of the original array.
Coupling this method with an unitialised shift register, you can also cache the sorted array to allow for more rapid processing if you require more than a single indexed value.
Another way to achieve this is (Assuming you`re seeking the 25 largest) to simply get the max and min at t
he very beginning, feed the array into a loop with a shift register, set the value at the index returned for max each run to the initial min value -1, and repeat another 24 times.
Regarding memory use and execution speed, I`m not sure if searching an array 25 times is quicker than a single sort or not (No new array is created), but both versions are viable.
Shane.
Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)