permaculture playing cards
The moose likes Beginning Java and the fly likes Insert in order Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Insert in order" Watch "Insert in order" New topic

Insert in order

Paul D Statham

Joined: Oct 16, 2003
Posts: 2
I'm trying to create a list of random numbers and have them inserted in order, heres the function which is supposed to do the task. It's not quite working however. Basically I have a temporary buffer that copies all numbers from the end of the list until it gets to the point where the number is greater than the input_item. As for inserting the item however, it loops through the current list until it finds the position it should be in. Once this is complete what I want to happen is to go from the position the input_item has been placed and put all the numbers in the temporary buffer back in the primary buffer.

-----------------------<br />To begin at the beginning
Ernest Friedman-Hill
author and iconoclast

Joined: Jul 08, 2003
Posts: 24199

Hi Paul,
Welcome to JavaRanch!
If you're doing this just to get the job done, then why not use the static java.util.Arrays.sort() functions to sort the complete array. It will likely be faster than anything else you will come up with.
If you're writing your own sort routine just to learn how to write sort routines, then an algorithms book like Sedgewick Volume 1 would be a big help. What you're trying to write is something like an "insertion sort," and it's not only hard to write but terribly slow for arrays of any size; there are better choices.

[Jess in Action][AskingGoodQuestions]
Paul D Statham

Joined: Oct 16, 2003
Posts: 2
Well basically i've been given the following pseudo code which I have to expand upon.
fred rosenberger
lowercase baba

Joined: Oct 02, 2003
Posts: 11955

Originally posted by Paul D Statham:

Once this is complete what I want to happen is to go from the position the input_item has been placed...
loop2: shift remaining list to its right, start from the end of the list

forgive me, but these seem to be at odds. according to your pseudo-code, you should start moving the elements from the END, not the middle.
If this is a class assignment, shouldn't you do it the way it's asked for? This may be a minor point, but when I was teaching Math, if the students didn't do something the way it was supposed to be done, I woudn't give them full credit.
I don't want to start an educational debate, but this should be considered.

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8927

why are you doing this?

Michael Dunn
Ranch Hand

Joined: Jun 09, 2003
Posts: 4632
Here's something to play around with. Compare the two, you might spot a difference.
I agree. Here's the link:
subject: Insert in order
jQuery in Action, 3rd edition