Exemple #1
0
        /// <summary>
        /// Exercícios de lista encadeada:
        /// (a) Recebe um número inteiro e o insere no fim da lista
        /// (b) Retira o primeiro elemento da lista e o retorna
        /// (c) Recebe um valor inteiro (x) que é um elemento da lista
        /// e o uma chave. O método deve inserir o valor da chave após
        /// o elemento x. Verifique se o elemento passado como parâmetro
        /// , x, pertence à lista. Caso nãoo exista, informe ao usuário.
        /// (d) retira todos os elementos cujo campo value é um número
        /// ímpar.
        /// (e) Pesquisa por um determinado elemento da lista. Se o elemento
        /// procurado não existir, informe ao usuário e retorne -1. Caso
        /// contrário, retorne o valor do elemento.
        /// (f) Procura e retorna o menor elemento da lista.
        /// (g) O método recebe uma posição da lista, índice e retira o elemento
        /// que corresponde à mesma. Seu método deve verificar se o índice é
        /// válido, sem fazer contagem da quantidade de elementos da lista. Retorne
        /// o elemento retirado caso o índice seja válido. Caso contrário retorne -1.
        /// Considere o nó sentinela possuindo o índice 0.
        /// (h) Todos os métodos devem ser implementados e testados.
        /// </summary>
        static void Main(string[] args)
        {
            SinglyLinkedList list = new SinglyLinkedList();

            list.Insert(1);
            list.Insert(2);
            list.Insert(3);
            list.Insert(4);
            list.Insert(5);
            list.Insert(6);
            list.Insert(7);
            list.Insert(8);

            list.Print();

            Console.WriteLine();

            // (a).
            list.InsertAfterAll(912);
            Console.WriteLine("(a).");
            list.Print();
            Console.WriteLine();

            // (b).
            Console.WriteLine("(b). = " + list.FindRemoveAndReturn(3));
            list.Print();
            Console.WriteLine();

            // (c)
            Console.WriteLine("(c).");
            list.InsertAfter(555, 4);
            list.Print();
            Console.WriteLine();

            // (d).
            Console.WriteLine("(d).");
            list.RemoveOdds();
            list.Print();
            Console.WriteLine();

            // (e).
            Console.WriteLine("(e). = " + list.SearchValue(2));
            list.Print();
            Console.WriteLine();

            // (f).
            Console.WriteLine("(f). = " + list.Min());
            list.Print();
            Console.WriteLine();

            // (g).
            Console.WriteLine("(g).");
            list.RemoveAt(2);
            list.Print();
            Console.WriteLine();
        }
        /// <summary>
        /// Exercícios de lista encadeada:
        /// (a) Recebe um número inteiro e o insere no fim da lista
        /// (b) Retira o primeiro elemento da lista e o retorna
        /// (c) Recebe um valor inteiro (x) que é um elemento da lista
        /// e o uma chave. O método deve inserir o valor da chave após
        /// o elemento x. Verifique se o elemento passado como parâmetro
        /// , x, pertence à lista. Caso nãoo exista, informe ao usuário.
        /// (d) retira todos os elementos cujo campo value é um número
        /// ímpar.
        /// (e) Pesquisa por um determinado elemento da lista. Se o elemento
        /// procurado não existir, informe ao usuário e retorne -1. Caso 
        /// contrário, retorne o valor do elemento.
        /// (f) Procura e retorna o menor elemento da lista.
        /// (g) O método recebe uma posição da lista, índice e retira o elemento
        /// que corresponde à mesma. Seu método deve verificar se o índice é
        /// válido, sem fazer contagem da quantidade de elementos da lista. Retorne
        /// o elemento retirado caso o índice seja válido. Caso contrário retorne -1.
        /// Considere o nó sentinela possuindo o índice 0.
        /// (h) Todos os métodos devem ser implementados e testados.
        /// </summary>
        static void Main(string[] args)
        {
            SinglyLinkedList list = new SinglyLinkedList();
            list.Insert(1);
            list.Insert(2);
            list.Insert(3);
            list.Insert(4);
            list.Insert(5);
            list.Insert(6);
            list.Insert(7);
            list.Insert(8);

            list.Print();

            Console.WriteLine();

            // (a).
            list.InsertAfterAll(912);
            Console.WriteLine("(a).");
            list.Print();
            Console.WriteLine();

            // (b).
            Console.WriteLine("(b). = " + list.FindRemoveAndReturn(3));
            list.Print();
            Console.WriteLine();

            // (c)
            Console.WriteLine("(c).");
            list.InsertAfter(555, 4);
            list.Print();
            Console.WriteLine();

            // (d).
            Console.WriteLine("(d).");
            list.RemoveOdds();
            list.Print();
            Console.WriteLine();

            // (e).
            Console.WriteLine("(e). = " + list.SearchValue(2));
            list.Print();
            Console.WriteLine();

            // (f).
            Console.WriteLine("(f). = " + list.Min());
            list.Print();
            Console.WriteLine();

            // (g).
            Console.WriteLine("(g).");
            list.RemoveAt(2);
            list.Print();
            Console.WriteLine();
        }
Exemple #3
0
        static void Main(string[] args)
        {
            var list = new SinglyLinkedList <string>();

            for (var i = 0; i < 10; i++)
            {
                list.AddFirst(i.ToString());
            }

            Console.WriteLine(list);

            list.RemoveFirst();
            Console.WriteLine(list);

            list.AddFirst(null);

            list.Remove("5");
            Console.WriteLine(list);

            list.Reverse();
            Console.WriteLine(list);

            Console.WriteLine(list.Copy());

            list.Insert(3, "66");
            Console.WriteLine(list);

            list.Remove(null);
            Console.WriteLine(list);

            list.Insert(4, "33");
            Console.WriteLine(list);

            list.Insert(list.Count, "75");
            Console.WriteLine(list);

            Console.WriteLine(list.Get(list.Count - 1));
        }
        private static void Main()
        {
            var linkedList = new SinglyLinkedList <int>();

            linkedList.AddFirst(2);
            linkedList.AddFirst(1);
            linkedList.AddFirst(0);
            linkedList.AddFirst(-1);

            Console.WriteLine(linkedList);

            linkedList.Insert(0, 4);
            Console.WriteLine(linkedList);

            linkedList.RemoveFirst();
            Console.WriteLine(linkedList);

            Console.WriteLine(linkedList.GetFirst());
        }
Exemple #5
0
        static void Main(string[] args)
        {
            SinglyLinkedList test = new SinglyLinkedList();

            Console.WriteLine("Test: ");
            test.AddFirst(10);
            test.AddFirst(20);
            test.AddFirst(30);
            test.AddFirst(40);
            Console.WriteLine("Singly Linked List After: AddFirst(10), AddFirst(20), AddFirst(30), AddFirst(40)");
            test.Print();
            Console.WriteLine();
            test.AddLast(50);
            test.AddLast(60);
            Console.WriteLine("Singly Linked List After: AddLast(50), AddLast(60)");
            test.Print();
            Console.WriteLine();
            test.Append(70);
            Console.WriteLine("Singly Linked List After: Append(70)");
            test.Print();
            Console.WriteLine();
            test.DeleteFirst();
            test.DeleteFirst();
            Console.WriteLine("Singly Linked List After: DeleteFirst() Twice");
            test.Print();
            Console.WriteLine();
            test.DeleteLast();
            Console.WriteLine("Singly Linked List After: DeleteLast()");
            test.Print();
            Console.WriteLine();
            test.Insert(4, 3);
            test.Insert(5, 1);
            Console.WriteLine("Singly Linked List After: Insert(4,3), Insert(5,1)");
            test.Print();
            Console.WriteLine();
            test.Delete(2);
            test.Delete(3);
            Console.WriteLine("Singly Linked List After: Delete(2), Delete(3)");
            test.Print();
            Console.WriteLine();
            Console.WriteLine();

            Console.WriteLine("Error Test: ");
            Console.WriteLine("No Values Have Been Inserted Into Linked List");
            Console.WriteLine();

            SinglyLinkedList error = new SinglyLinkedList();

            Console.WriteLine("Singly Linked List Error Message After: Print()");
            Console.WriteLine();

            error.Print();

            Console.WriteLine();
            Console.WriteLine("Singly Linked List Error Message After: DeleteFirst()");
            Console.WriteLine();

            error.DeleteFirst();

            Console.WriteLine();
            Console.WriteLine("Singly Linked List Error Message After: DeleteLast()");
            Console.WriteLine();

            error.DeleteLast();

            Console.WriteLine();
            Console.WriteLine("Singly Linked List After Insert(27, 0) With No Values In List");
            Console.WriteLine();
            Console.WriteLine("AddFirst() Will Be Called Instead: ");
            Console.WriteLine();

            error.Insert(27, 0);
            error.Print();
            Console.WriteLine();

            Console.WriteLine();
            Console.WriteLine("Singly Linked List Error Message After Delete() Called Twice");
            Console.WriteLine();

            error.Delete(0);
            error.Print();

            error.Delete(0);
        }