Re: Help with java insertion sort program
On 8/14/2014 12:51 AM, Mike Amling wrote:
On 8/10/14 6:43 AM, Eric Sosman wrote:
On 8/10/2014 7:09 AM, Mike Amling wrote:
On 8/9/14 9:11 PM, Scott Dunning wrote:
Hello I trying write a sorting program that will ask a user what
type of
sorting method to use (insertion, bubble, selection) and then ask them
to enter integers to sort.
One wonders why classes are still teaching these algorithms. I've had
colleagues who have written bubble sort into production code, because
that's the only algorithm they were ever taught (or maybe it was better
than some even worse ones).
If you do complete this assignment, throw away the code, look up
QuickSort, implement a reasonable variation of it, and don't look back.
Better still, look up Arrays.sort() and Collections.sort() and
throw away your Quicksort implementation.
How do you get Arrays.sort to sort primitives descending?
Arrays.sort(theArrayOfPrimitives);
for (int i = theArrayOfPrimitives.length; --i >= 0; ) {
// Note direction of traversal
}
Or, if you *really* *really* *REEEELY* want the array front-to-back:
Arrays.sort(theArrayOfPrimitives);
for (int i = 0, j = theArrayOfPrimitives.length; i < --j; ++i) {
PrimitiveType temp = theArrayOfPrimitives[i];
theArrayOfPrimitives[i] = theArrayOfPrimitives[j];
theArrayOfPrimitives[j] = temp;
}
What if you want to, say, apply the same permutation to the elements of
array Y that sorting applies to the elements array X?
Whenever I've wanted to do this, it's nearly always turned out
that my data structure design was at fault. On the remaining few
occasions, I've instead sorted an array of indices.
--
esosman@comcast-dot-net.invalid