एक DoubleLinkedList
एक ही समय में और एक सूची नोड सूची ही है, एक नियमित रूप से List
के लिए ::
के समान है। आप क्रमशः next
और prev
के साथ एक सेल से अगले या पिछले एक पर नेविगेट कर सकते हैं और elem
वाले सेल का मान प्राप्त कर सकते हैं।
scala> val list = collection.mutable.DoubleLinkedList(1,2,3,4,5)
list: scala.collection.mutable.DoubleLinkedList[Int] = DoubleLinkedList(1, 2, 3, 4, 5)
scala> list.next.next.remove() // list.next.next points on 3rd cell
scala> list
res0: scala.collection.mutable.DoubleLinkedList[Int] = DoubleLinkedList(1, 2, 4, 5)
सावधान रहो, अगर आप पहले कक्ष निकालने के लिए, के रूप में आप अगले सेल पर सूची पकड़े अपने वर पुन: असाइन करने की आवश्यकता होगी:
scala> val list = collection.mutable.DoubleLinkedList(1,2,3,4,5)
list: scala.collection.mutable.DoubleLinkedList[Int] = DoubleLinkedList(1, 2, 3, 4, 5)
scala> list.remove() // remove first item
scala> list // this is now a 'dangling' cell, although it still points to the rest of the list
res6: scala.collection.mutable.DoubleLinkedList[Int] = DoubleLinkedList(1, 2, 3, 4, 5) // uh? didn't I remove the first cell?
scala> list.next.prev // we can check that it is not pointed back to by its next cell
res7: scala.collection.mutable.DoubleLinkedList[Int] = null
स्रोत
2011-10-14 08:20:06
अच्छा जवाब - शर्म की बात नहीं कर रहे डॉक्स का एक सा StackOverflow के रूप में अच्छा नहीं है! –
क्या कई बार कॉल किए बिना पहले वापस जाने का कोई तरीका है? – user1377000
नहीं, आपको 'prev' को तब तक कॉल करना होगा जब तक आप' शून्य 'नहीं पाते। –