I am reading XOR linked list (from Wikipedia).But I am having some problems in understanding it.
I am not getting following paragraph.
To start traversing the list in either direction from some point, you need the address of two consecutive items, not just one. If the addresses of the two consecutive items are reversed, you will end up traversing the list in the opposite direction.
I have few questions about it :
How does it (the XOR linked list itself) actually work ?
(It would be great if you justify your answer by giving some example.i.e by taking some addresses and then doing some calculations accordingly.)
How can I implement it? A brief idea about implementation.
- Practically where it is or can be used? Is it really helpful as it seems?