コード例 #1
0
        static void Main(string[] args)
        {
            LinkedList lista1 = new LinkedList();

            lista1.add(1);
            lista1.add(4);
            lista1.add(3);
            lista1.add(7);

            Iterator it = lista1.getIterator();

            while (it.hasNext())
            {
                Iterator backupIt = new Iterator(it);
                int      element  = it.next(); //regresar el dato y avanzar el iterador

                if (element == 3)
                {
                    lista1.insert(10, LinkedList.BEFORE, backupIt);
                }

                if (element == 7)
                {
                    lista1.insert(15, LinkedList.AFTER, backupIt);
                }
            }

            lista1.delete(3);

            Console.WriteLine("---------------------");

            Console.WriteLine("El tamaño es:" + lista1.getSize());

            it = lista1.getIterator();

            while (it.hasNext())
            {
                int element = it.next();

                Console.WriteLine("Dato: " + element);
            }

            Console.WriteLine("---------------------");

            ReverseIterator reverseIterator = lista1.getReverseIterator();

            while (reverseIterator.hasPrevious())
            {
                int element = reverseIterator.previous();

                Console.WriteLine("Dato: " + element);
            }
        }
コード例 #2
0
 public ReverseIterator(ReverseIterator iterator)
 {
     currentNode = iterator.currentNode;
 }
コード例 #3
0
        static void Main(string[] args)
        {
            LinkedList list = new LinkedList();

            list.add(1);
            list.add(4);
            list.add(3);
            list.add(7);

            Console.WriteLine("El tamaño de la lista es: " + list.getSize());

            Iterator        it  = list.getIterator();
            ReverseIterator it2 = list.getReverseIterator();

            Console.WriteLine("-------------------------------------");
            Console.WriteLine("Recorrido inverso");

            while (it2.hasNext())
            {
                int element = it2.next();

                Console.WriteLine("Dato: " + element);
            }

            Console.WriteLine("-------------------------------------");
            Console.WriteLine("Recorrido normal");

            while (it.hasNext())
            {
                Iterator backupIt = new Iterator(it);
                int      element  = it.next();

                if (element == 3)
                {
                    list.insert(10, LinkedList.BEFORE, backupIt);
                }

                if (element == 7)
                {
                    list.insert(15, LinkedList.AFTER, backupIt);
                }

                Console.WriteLine("Dato: " + element);
            }


            Console.WriteLine("-------------------------------------");
            Console.WriteLine("Lista con datos agregados");

            it = list.getIterator();

            while (it.hasNext())
            {
                int element = it.next();

                Console.WriteLine("Dato: " + element);
            }

            Console.WriteLine("-------------------------------------");
            Console.WriteLine("Recorrido inverso con datos agregados");

            it2 = list.getReverseIterator();

            while (it2.hasNext())
            {
                int element = it2.next();

                Console.WriteLine("Dato: " + element);
            }
        }