Example #1
0
        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);
                    }
                }
            }
        }
Example #2
0
        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);
            }
        }