예제 #1
0
        public void Remove(Object ValorItem)
        {
            if (Primeira != Ultima)
            {
                CCelula aux   = Primeira;
                bool    achou = false;
                while (aux.Prox != null && !achou)
                {
                    achou = aux.Prox.Item.Equals(ValorItem);
                    if (!achou)
                    {
                        aux = aux.Prox;
                    }
                }

                if (achou)
                {
                    aux.Prox = aux.Prox.Prox;
                    if (aux.Prox == null)
                    {
                        Ultima = aux;
                    }
                    Qtde--;
                }
            }
        }
예제 #2
0
        public bool pesquisa(Object elemento)
        {
            bool achou = false;

            for (CCelula aux = Primeira.Prox; aux != null && !achou; aux = aux.Prox)
            {
                achou = aux.Item.Equals(elemento);
            }
            return(achou);
        }
예제 #3
0
        public Object[] imprimir()
        {
            Object[] itens = new Object[Qtde];
            int      index = 0;

            if (Primeira != Ultima)
            {
                for (CCelula aux = Primeira.Prox; aux != null; aux = aux.Prox)
                {
                    itens[index] = aux.Item;
                    index++;
                }
            }
            return(itens);
        }
예제 #4
0
 public void InsereFim(Object ValorItem)
 {
     Ultima.Prox = new CCelula(ValorItem);
     Ultima      = Ultima.Prox;
     Qtde++;
 }
예제 #5
0
 public Lista()
 {
     Primeira = new CCelula();
     Ultima   = Primeira;
 }
예제 #6
0
 public CCelula(object ValorItem, CCelula ProxCelula)
 {
     Item = ValorItem;
     Prox = ProxCelula;
 }
예제 #7
0
 public CCelula(object ValorItem)
 {
     Item = ValorItem;
     Prox = null;
 }
예제 #8
0
 public CCelula()
 {
     Item = null;
     Prox = null;
 }