public int informacao { get; set; }
public NoLista proximo { get; set; }
public NoLista anterior { get; set; }
public NoLista InicioLista { get; set; }
public bool RemovePrimeiros(int quantidade)
NoLista auxiliar = InicioLista;
for (int i = 0; i < quantidade; ++i)
if (InicioLista == null) return false;
InicioLista = InicioLista.proximo;
InicioLista.anterior = null;
public bool Remove(int valor)
bool valorRetorno = false;
NoLista auxiliar = InicioLista;
while ((auxiliar != null) && (auxiliar.informacao != valor))
auxiliar = auxiliar.proximo;
if (auxiliar == null) return false;
if (auxiliar.informacao == valor)
if (auxiliar.proximo != null)
(auxiliar.proximo).anterior = null;
if (InicioLista.informacao == valor)
InicioLista = InicioLista.proximo;
if (auxiliar.proximo != null)
(auxiliar.proximo).anterior = auxiliar.anterior;
(auxiliar.anterior).proximo = auxiliar.proximo;
public void Add(int valor)
NoLista novoNo = new NoLista();
novoNo.informacao = valor;
NoLista auxiliar = InicioLista;
while (auxiliar.proximo != null)
auxiliar = auxiliar.proximo;
auxiliar.proximo = novoNo;
novoNo.anterior = auxiliar;
public Lista Concatenar(Lista l1, Lista l2)
var novaLista = new Lista();
private static void Add1(Lista nova, Lista velha)
NoLista p = velha.InicioLista;
while (p.proximo != null)
NoLista auxiliar = InicioLista;
Console.WriteLine("Imprimindo a lista");
Console.WriteLine(auxiliar.informacao);
auxiliar = auxiliar.proximo;
public static void Main()
Console.WriteLine("Lista Original:");
Console.WriteLine("Lista após remover os 3 primeiros:");