コード例 #1
0
        static void ExibirRelatorio(GerenciarProdutos gp)
        {
            Console.WriteLine(" Deseja exibir relatorio de (1-Lista simples) (2-Lista Duplamente Vinculada) (3- Fila): \n");
            int op = int.Parse(Console.ReadLine());

            if (op == 1)
            {
                ExibirColecao(gp.RetornarListaSimples());

                //Console.WriteLine(" Lista simples vazia !");
            }
            else
            {
                if (op == 2)
                {
                    ExibirColecao(gp.RetornarListaDuplamenteVinculada());
                    //Console.WriteLine(" Lista duplamente vinculada vazia !");
                }
                else
                {
                    ExibirFila(gp.RetornarFila());

                    //Console.WriteLine(" Fila vazia !");
                }
            }
        }
コード例 #2
0
        static void OrdenarColecao(GerenciarProdutos gp)
        {
            Console.WriteLine(" Deseja Ordenar (1-Lista simples) (2-Lista Duplamente Vinculada) (3- Fila): \n");
            int op = int.Parse(Console.ReadLine());

            if (op == 1)
            {
                List <Produto> listaSimples = gp.RetornarListaSimples();
                op = OpcaoOrdenacao();
                if (op == 1)
                {
                    listaSimples.Sort();
                    MostrarColecao(listaSimples);
                }
                else
                {
                    if (op == 2)
                    {
                        listaSimples.Sort(new OrdenarColecaoPeloPreco());
                        MostrarColecao(listaSimples);

                        /*O método de ordenação Sort atraves da instancia da classe  OrdenarColecaoPeloPreco
                         * acessa o método  Compare(Produto produtoAtual, Produto produtoOutro) que recebe dois objetos
                         * que serão comparados. O proprio método Sort passa esses dois objetos que serão comparados da lista.*/
                    }
                    else
                    {
                        listaSimples.Sort(new OrdenarColecaoPelaQuantidade1());
                        MostrarColecao(listaSimples);

                        /*
                         * O método de ordenação Sort(IComparer<Produto> comparer) recebe um objeto do tipo IComparer<Produto>
                         * a variavel comparer pode fazer referencia a um objeto da classe OrdenarColecaoPelaQuantidade1 com uso de
                         * polimorfismo uma vez que essa classe implementa a interface IComparer<> e obrigatoriamente implementou o
                         * método Compare().
                         */
                    }
                }
            }
            else
            {
                if (op == 2)
                {
                    Console.WriteLine(" Ordenar Lista Duplamente Vinculada \n");

                    op = OpcaoOrdenacao();
                    if (op == 1)
                    {
                        LinkedList <Produto> listaDuplamenteVinculada = gp.RetornarListaDuplamenteVinculada();
                        //listaDuplamenteVinculada.
                    }
                    else
                    {
                    }
                }
                else
                {
                    op = OpcaoOrdenacao();
                }
            }
        }