public bool MoveNext() { if (myPersonLinkedList == null) { myPersonLinkedList = new LinkedList<Person>(); myPersonLinkedList.AddLast(new Person{Id=1,Name="John",Location="hyd"}); myPersonLinkedList.AddLast(new Person{Id=2,Name="Daniel",Location="Delhi"}); myPersonLinkedList.AddLast(new Person{Id=3,Name="Popeye",Location="mumbai"}); myPersonLinkedList.AddLast(new Person{Id=4,Name="Tom",Location="pune"}); } if (currentObj == null && myPersonLinkedList.First != null) { currentObj = myPersonLinkedList.First; return true; } if ( currentObj.Next!=null) { currentObj = currentObj.Next; return true; } else { return false; } }
public void Reset() { currentObj = null; }
public void Clear() { firstElement = null; lastElement = null; Count = 0; }
static void Main(string[] args) { // Create the link list. string[] words = { "the", "fox", "jumped", "over", "the", "dog" }; LinkedList <string> sentence = new LinkedList <string>(words); Display(sentence, "The linked list values:"); Console.WriteLine("sentence.Contains(\"jumped\") = {0}", sentence.Contains("jumped")); // Add the word 'today' to the beginning of the linked list. sentence.AddFirst("today"); Display(sentence, "Test 1: Add 'today' to beginning of the list:"); // Move the first node to be the last node. LinkedListNode <string> mark1 = sentence.First; sentence.RemoveFirst(); sentence.AddLast(mark1); Display(sentence, "Test 2: Move first node to be last node:"); // Change the last node be 'yesterday'. sentence.RemoveLast(); sentence.AddLast("yesterday"); Display(sentence, "Test 3: Change the last node to 'yesterday':"); // Move the last node to be the first node. mark1 = sentence.Last; sentence.RemoveLast(); sentence.AddFirst(mark1); Display(sentence, "Test 4: Move last node to be first node:"); // Indicate, by using parentheisis, the last occurence of 'the'. sentence.RemoveFirst(); LinkedListNode <string> current = sentence.FindLast("the"); IndicateNode(current, "Test 5: Indicate last occurence of 'the':"); // Add 'lazy' and 'old' after 'the' (the LinkedListNode named current). sentence.AddAfter(current, "old"); sentence.AddAfter(current, "lazy"); IndicateNode(current, "Test 6: Add 'lazy' and 'old' after 'the':"); // Indicate 'fox' node. current = sentence.Find("fox"); IndicateNode(current, "Test 7: Indicate the 'fox' node:"); // Add 'quick' and 'brown' before 'fox': sentence.AddBefore(current, "quick"); sentence.AddBefore(current, "brown"); IndicateNode(current, "Test 8: Add 'quick' and 'brown' before 'fox':"); // Keep a reference to the current node, 'fox', // and to the previous node in the list. Indicate the 'dog' node. mark1 = current; LinkedListNode <string> mark2 = current.Previous; current = sentence.Find("dog"); IndicateNode(current, "Test 9: Indicate the 'dog' node:"); // The AddBefore method throws an InvalidOperationException // if you try to add a node that already belongs to a list. Console.WriteLine("Test 10: Throw exception by adding node (fox) already in the list:"); try { sentence.AddBefore(current, mark1); } catch (InvalidOperationException ex) { Console.WriteLine("Exception message: {0}", ex.Message); } Console.WriteLine(); // Remove the node referred to by mark1, and then add it // before the node referred to by current. // Indicate the node referred to by current. sentence.Remove(mark1); sentence.AddBefore(current, mark1); IndicateNode(current, "Test 11: Move a referenced node (fox) before the current node (dog):"); // Remove the node referred to by current. sentence.Remove(current); IndicateNode(current, "Test 12: Remove current node (dog) and attempt to indicate it:"); // Add the node after the node referred to by mark2. sentence.AddAfter(mark2, current); IndicateNode(current, "Test 13: Add node removed in test 11 after a referenced node (brown):"); // The Remove method finds and removes the // first node that that has the specified value. sentence.Remove("old"); Display(sentence, "Test 14: Remove node that has the value 'old':"); // When the linked list is cast to ICollection(Of String), // the Add method adds a node to the end of the list. sentence.RemoveLast(); ICollection <string> icoll = sentence; icoll.Add("rhinoceros"); Display(sentence, "Test 15: Remove last node, cast to ICollection, and add 'rhinoceros':"); Console.WriteLine("Test 16: Copy the list to an array:"); // Create an array with the same number of // elements as the inked list. string[] sArray = new string[sentence.Count]; sentence.CopyTo(sArray, 0); foreach (string s in sArray) { Console.WriteLine(s); } // Release all the nodes. sentence.Clear(); Console.WriteLine(); Console.WriteLine("Test 17: Clear linked list. Contains 'jumped' = {0}", sentence.Contains("jumped")); Console.ReadLine(); }
static void Main(string[] args) { LinkedList<int> intlinked = new LinkedList<int>(); LinkedList<int> addlist = new LinkedList<int>(); List<int> mylist = new List<int>(); List<int> addList = new List<int>(); for (int J = 0; J < 5; J++) { mylist.Add(J); } IEnumerator<int> Listenumerator = mylist.GetEnumerator(); Console.WriteLine("list is ------------------"); while (Listenumerator.MoveNext()) { Console.WriteLine(Listenumerator.Current); } for (int K = 15; K < 20; K ++) { addList.Add(K); } IEnumerator<int> AddListenumerator = addList.GetEnumerator(); Console.WriteLine("add list is ------------------"); while (AddListenumerator.MoveNext()) { Console.WriteLine(AddListenumerator.Current); } Console.WriteLine("after add is -------------"); IEnumerable<int> AddListIEnumerable = addList.AsEnumerable(); mylist.AddRange(AddListIEnumerable); IEnumerator<int> FinalList = mylist.GetEnumerator(); while (FinalList.MoveNext()) { Console.WriteLine(FinalList.Current); } Console.WriteLine("Linked List -------------"); for (int i = 195; i < 200; i++) { addlist.AddFirst(i); } for (int i = 0; i < 10; i++) { intlinked.AddFirst(i); } IEnumerator<int> enumerator = intlinked.GetEnumerator(); while (enumerator.MoveNext()) { Console.WriteLine(enumerator.Current); } Console.WriteLine(); LinkedListNode<int> listNode = intlinked.Find(5); Console.WriteLine(listNode.Value); IEnumerator<int> addenumerator = addlist.GetEnumerator(); while (addenumerator.MoveNext()) { Console.WriteLine(addenumerator.Current); intlinked.AddAfter(listNode, addenumerator.Current); } Console.WriteLine("----------------------after insert new list in"); IEnumerator<int> Newenumerator = intlinked.GetEnumerator(); while (Newenumerator.MoveNext()) { Console.WriteLine(Newenumerator.Current); } }