Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
 public void Reset()
 {
     currentObj = null;
 }
Esempio n. 3
0
 public void Clear()
 {
     firstElement = null;
     lastElement  = null;
     Count        = 0;
 }
Esempio n. 4
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();
        }
Esempio n. 5
0
        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);
            }

        }