public void Enqueue(No no) { No aux, ant; no.setProx(null); if (inicio == null) { inicio = no; } else { if (no.GetPrioridade() < inicio.GetPrioridade()) { no.setProx(inicio); inicio = no; } else { aux = inicio; ant = aux; while (aux.getProx() != null && no.GetPrioridade() >= aux.GetPrioridade()) { ant = aux; aux = aux.getProx(); } if (aux.getProx() == null && no.GetPrioridade() >= aux.GetPrioridade()) { aux.setProx(no); no.setAnt(aux); } else { no.setProx(aux); no.setAnt(ant); ant.setProx(no); aux.setAnt(no); } } } }
public void InsereFim(No no) { No aux; no.setProx(null); if (inicio == null) { inicio = no; } else { aux = inicio; while (aux.getProx() != null && no.GetPrioridade() >= aux.GetPrioridade()) { aux = aux.getProx(); } no.setAnt(aux); aux.setProx(no); } }