एक विधि जिसे मैं सोच सकता हूं वह है सूची को पीछे हटाना और फिर इसे पढ़ना। लेकिन इसमें बुरी सूची को बदलना शामिल है।
या मैं सूची की एक प्रति बना सकता हूं और फिर इसे उलट सकता हूं, लेकिन यह अतिरिक्त ओ (एन) मेमोरी का उपयोग करता है। कोई बेहतर तरीका है जिसके अतिरिक्त स्मृति का उपयोग नहीं करता है और सूची को संशोधित नहीं करता है और (एन) समयपिछली लिंक्ड सूची को पीछे कैसे पढ़ा जाए?
रिवर्स लिंक्ड सूची कोड हे में चलता है ग # में कुछ इस तरह
Void Reverse (Node head)
{
Node prev= null;
Node current = head;
Node nextNode = null;
while (current!=null)
{
nextNode = current.Next;
current.Next = prev;
prev=current;
current = nextNode;
}
head = prev;
}
रिकर्सिव है समाधान
void ReadBackWard (Node n)
{
if (n==null)
return;
else
ReadBackward(n.Next);
Console.WriteLine(n.Data);
}
Recursion अपने दोस्त –
@Neil है: आप प्रत्यावर्तन – Learner
लेकिन प्रत्यावर्तन हे (एन) स्मृति –