Esempio n. 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();
        }
Esempio n. 2
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();
        }