How to swapp 2 nodes in doubly linked list?? Is that means just swapping the values (becaus enode is just anode), or we have to swap also pointers??
In case of swapping pointers, how can we do that??
Thank you
wael
I think it depends on how you want to implemented. But usually we just swapping the pointer without regard of the value of type of value and it is easier to implemented.
When you want to delete or swap in link-list style, I usually check only when it relates to root, middle and at end node.
There are two main cases:
1) The two nodes to swap are next to each other,
2) The two nodes to swap are not next to each other
can we solve them in one solution or every situation should be solved alone??
Thank you
we have to take two steps in common and two steps in specific for each case.
common steps:
1.right pointer of the first node to point where the right pointer of the second node currently pointing.
2.left pointer of the second node to point where the left pointer of the first node is currently pointing.
if the nodes r next to each other then
1.make left pointer of the first node to point the second node.
2.make right pointer of the second node to point the first node.
if the nodes r not next to each other then
1.make left pointer of the first node to point where the left pointer of the second node pointing currently.
2.make right pointer of the second node to point where the right pointer of the first node currently pointing.
Bookmarks