示例#1
0
        public void ImprimirInvertido()
        {
            celula temp = Fim;

            while (temp != Inicio)
            {
                Console.WriteLine(temp.dado);
                temp = temp.ant;
            }
        }
示例#2
0
        public void Imprimir()
        {
            int    cont = 0;
            celula temp = Inicio;

            while (cont < Tam)
            {
                Console.WriteLine(temp.dado);
                temp = temp.prox;
                cont++;
            }
        }
示例#3
0
        public void Inserir(int dado)
        {
            celula temp = new celula();

            temp.dado = dado;
            temp.prox = Inicio;
            temp.ant  = Fim;

            Fim.prox   = temp;
            Fim        = temp;
            Fim.prox   = Inicio;
            Inicio.ant = Fim;
            Tam++;
        }
示例#4
0
        public void RemoverCelula(celula temp)
        {
            Tam--;
            celula ant  = temp.ant;
            celula prox = temp.prox;

            ant.prox = prox;
            prox.ant = ant;
            if (temp == Inicio)
            {
                Inicio     = temp.prox;
                Inicio.ant = Fim;
            }
            if (temp == Fim)
            {
                Fim      = temp.ant;
                Fim.prox = Inicio;
            }
        }
示例#5
0
        public int Remover(int m, int o)
        {
            celula temp = Inicio;

            for (int i = 1; i < m; i++)
            {
                temp = temp.prox;
            }
            while (Tam > 1)
            {
                for (int j = 0; j < o; j++)
                {
                    temp = temp.prox;
                }
                RemoverCelula(temp);
            }
            Imprimir();
            return(temp.dado);
        }
示例#6
0
        public lista(int n)
        {
            celula temp = new celula();

            temp.dado = 1;
            temp.ant  = temp.prox = null;
            Tam       = 1;
            Inicio    = Fim = temp;
            while (Tam < n)
            {
                Tam++;
                temp      = new celula();
                temp.dado = Tam;
                temp.prox = null;
                temp.ant  = Fim;
                Fim.prox  = temp;
                Fim       = temp;
            }
            Fim.prox   = Inicio;
            Inicio.ant = Fim;
        }