示例#1
0
        public void Remover(int x)// Letra C
        {
            elemento aux = inicio;
            elemento ant = null;

            while (aux != null && aux.valor != x)
            {
                ant = aux;
                aux = aux.próximo;
            }

            if (aux == null)
            {
                Console.WriteLine("Valor não encontrado!");
            }
            else
            {
                if (ant == null)
                {
                    inicio = aux.próximo;
                }
                else
                {
                    ant.próximo = aux.próximo;
                }
            }
        }
示例#2
0
        public void InserirDepois(int x, int y) //letra I
        {
            elemento aux = inicio;
            elemento novo;
            elemento lul = new elemento();


            while (aux != null && aux.valor != y)
            {
                aux = aux.próximo;
            }

            if (aux == null)
            {
                Console.WriteLine("Valor não encontrado!");
            }
            else
            {
                lul = Pesquisar(x);
                if (lul != null)
                {
                    Console.WriteLine("Este número já existe na lista");
                }
                else
                {
                    novo         = new elemento();
                    novo.valor   = x;
                    novo.próximo = aux.próximo;
                    aux.próximo  = novo;
                }
            }
        }
示例#3
0
 public void ExibirRec(elemento e) //letra B recursivo
 {
     if (e != null)
     {
         Console.Write("{0} ", e.valor);
         ExibirRec(e.próximo);
     }
 }
示例#4
0
        public void Exibir() //letra B interativo
        {
            elemento aux = inicio;

            while (aux != null)
            {
                Console.Write("{0} ", aux.valor);
                aux = aux.próximo;
            }
        }
示例#5
0
 public elemento PesquisarRec(int x, elemento e) //letra A recursivo
 {
     if (e == null || e.valor == x)
     {
         return(e);
     }
     else
     {
         return(PesquisarRec(x, e.próximo));
     }
 }
示例#6
0
 public int SomaRec(elemento aux) //recursivo Letra K
 {
     if (aux == null)
     {
         return(0);
     }
     else
     {
         return(aux.valor + (SomaRec(aux.próximo)));
     }
 }
示例#7
0
        public elemento Pesquisar(int x) //letra A
        {
            elemento aux = inicio;

            while (aux != null && aux.valor != x)
            {
                aux = aux.próximo;
            }

            return(aux);
        }
示例#8
0
        public int Contagem() //letra D Interativo
        {
            elemento aux  = inicio;
            int      cont = 0;

            while (aux != null)
            {
                cont = cont + 1;
                aux  = aux.próximo;
            }
            return(cont);
        }
示例#9
0
        public int Soma(elemento aux)//iterativo Letra K
        {
            int soma = 0;

            while (aux != null)
            {
                soma = soma + aux.valor;
                aux  = aux.próximo;
            }

            return(soma);
        }
示例#10
0
        public int ContagemRec(elemento e) // letra D recursivo
        {
            int cont = 0;

            if (e == null)
            {
                return(cont);
            }
            else
            {
                cont = 1 + ContagemRec(e.próximo);
            }
            return(cont);
        }
示例#11
0
        public int quantosMaiores(int valor) //letra j interativo
        {
            elemento aux   = inicio;
            int      maior = 0;

            while (aux != null)
            {
                if (aux.valor > valor)
                {
                    maior = maior + 1;
                }
                aux = aux.próximo;
            }
            return(maior);
        }
示例#12
0
        public int quantosMaioresRec(elemento e, int num) //letra j recursivo
        {
            int result = 0;

            if (e != null)
            {
                if (e.valor > num)
                {
                    result = 1 + quantosMaioresRec(e.próximo, num);
                }

                quantosMaioresRec(e.próximo, num);
            }

            return(result);
        }
示例#13
0
        public void Troca(int x, int y) // Letra L
        {
            elemento aux  = new elemento();
            elemento aux2 = new elemento();

            aux  = Pesquisar(x);
            aux2 = Pesquisar(y);
            if (aux == null || aux2 == null)
            {
                Console.WriteLine("\nAlgum dos valores é nulo!");
            }
            else
            {
                aux.valor  = y;
                aux2.valor = x;
            }
        }
示例#14
0
        public void Inserir(int e) // letra G
        {
            elemento novo = new elemento();
            elemento aux  = new elemento();

            aux = Pesquisar(e);

            if (aux == null)
            {
                novo.valor   = e;
                novo.próximo = inicio;
                inicio       = novo;
            }
            else
            {
                Console.WriteLine("Número já existente!");
            }
        }
示例#15
0
        public void InserirAntes(int x, int y) //letra H
        {
            elemento aux = inicio;
            elemento ant = new elemento();
            elemento novo;
            elemento lul = new elemento();

            while ((aux != null) && (aux.valor != y))
            {
                ant = aux;
                aux = aux.próximo;
            }
            if (aux == null)
            {
                Console.WriteLine("Valor não encontrado ");
            }
            else
            {
                lul = Pesquisar(x);

                if (lul != null)
                {
                    Console.WriteLine("Número já existente!");
                }
                else
                {
                    novo         = new elemento();
                    novo.valor   = x;
                    novo.próximo = aux;

                    if (ant == null)
                    {
                        novo.próximo = inicio;
                        inicio       = novo;
                    }
                    else
                    {
                        novo.próximo = ant.próximo;
                        ant.próximo  = novo;
                    }
                }
            }
        }