private void ImprimirItem(ItemLista <T> item, bool imprimirProximo = false) { Console.WriteLine($"Item fila impresso: {item.Dado}"); if (item.Proximo != null && imprimirProximo) { ImprimirItem(item.Proximo, imprimirProximo); } }
private void ImprimirItem(ItemLista <T> item, bool recursivo = false) { Console.WriteLine($"Item pilha impresso: {item.Dado}"); if (item.Proximo != null && recursivo) { ImprimirItem(item.Proximo, recursivo); } }
private void Processar(ItemLista <T> item, bool recursivo = false) { Console.WriteLine($"Item pilha processado: {item.Dado}"); Ultimo = item.Proximo; if (!IsEmpty() && recursivo) { Processar(Ultimo, recursivo); } }
public Tuple <bool, T> Pop() { if (!IsEmpty()) { ItemLista <T> Saida = Ultimo; Ultimo = Ultimo.Proximo; return(Tuple.Create <bool, T>(true, Saida.Dado)); } return(Tuple.Create <bool, T>(false, default(T))); }
public void Push(T dado) { var item = new ItemLista <T>(dado); if (IsEmpty()) { this.Ultimo = item; } else { item.Proximo = this.Ultimo; this.Ultimo = item; } }
private void Processar(ItemLista <T> item, bool processarProximo = false) { Console.WriteLine($"Item fila processado: {item.Dado}"); Primeiro = item.Proximo; if (object.ReferenceEquals(item, Ultimo)) { Ultimo = null; } if (IsEmpty() && processarProximo) { Processar(Primeiro, processarProximo); } }
public Tuple <bool, T> DeQueue() { if (!IsEmpty()) { ItemLista <T> Saida = Primeiro; Primeiro = Primeiro.Proximo; if (object.ReferenceEquals(Saida, Ultimo)) { Ultimo = null; } return(Tuple.Create <bool, T>(true, Saida.Dado)); } return(Tuple.Create <bool, T>(false, default(T))); }
public void EnQueue(T dado) { var item = new ItemLista <T>(dado); if (this.Primeiro is null) { this.Primeiro = item; } else if (this.Ultimo is null) { this.Ultimo = item; this.Primeiro.Proximo = this.Ultimo; } else { this.Ultimo.Proximo = item; this.Ultimo = item; } }