1. Member
Join Date
Nov 2007
Posts
3
Rep Power
0

I would like to start off saying hello, and I also want to apologize if this seems to be a remedial question... I am just drawing a blank, and have been yet to find a solid answer to my question... anyways, I am trying to learn as much as possible about java and I am currently looking into linked list structures in depth, specifically doubly linked lists. I am a little confused as to how the addBefore(position<P> p, Element E) mehtod works. This is the way it is written in my book. Basically, the method is supposed to insert a new node with the data of E before a node p. I am a little confused as to how to reference nodes in a doubly linked list when the node is being refered to by its data (Element). from what I understand, if you have the doubly linked list H<=>1<=>2<=>4<=>t and you call addBefore(4,3), the result should be H<=>1<=>2<=>3<=>4<=>t. This is fine for a sorted list, but what happens if you have multiple nodes with the same data in it? and is that possible? (ie. H<=>2<=>1<=>2<=>t thus when calling the addBefore(2,1) mehtod, 1 would be entered before the first 2, and not the second.)

I guess my basic question is how does the position() mehod work in a unsorted list, and can it work if there is multiple elements in the list with the same data? Any help will be much appreciated. thank you.

2. I guess my basic question is how does the position() mehod work in a unsorted list, and can it work if there is multiple elements in the list with the same data?
Looks like you are inserting a value at an index (position) into the list. If this is so then all you care about is that you can find the position, ie, 0 <= position < lastElement. It shouldn't make any difference what the values on either side are or if there are multiple values.
If you were inserting a value after another value (vis-a-vis poisition), ie,