public int Buscar(Prioridad paciente)
 {
     for (int i = 0; i < Cola.contador; i++)
     {
         if (paciente == Cola.ObtenerValor(i).valor)
         {
             return(i);
         }
     }
     return(-1);
 }
示例#2
0
        public void Insertar(Prioridad valor, int indice)
        {
            Nodo <T> NuevoNodo = new Nodo <T>();

            NuevoNodo.valor     = valor;
            NuevoNodo.indice    = indice;
            NuevoNodo.izquierda = null;
            NuevoNodo.derecha   = null;

            if (raiz == null)
            {
                raiz = NuevoNodo;
            }
            else
            {
                raiz = InsertarHeap(raiz, NuevoNodo);
            }
            contador++;
        }
        public void Insertar(Prioridad paciente)
        {
            Nodo <Prioridad> nodo = new Nodo <Prioridad>();

            nodo.valor = paciente;
            if (paciente.prioridad < 4 && Cola.contador > 0)
            {
                int NodosEnArbol = Cola.contador;
                for (int i = 0; i < NodosEnArbol; i++)
                {
                    if (Cola.ObtenerValor(i).valor.prioridad > paciente.prioridad)
                    {
                        Cola.InsertarEnPosicion(nodo, (i));
                        Cola.ObtenerValor(i).indice = i;
                        break;
                    }
                    Cola.ObtenerValor(i).indice = i;
                }
                if (NodosEnArbol == Cola.contador)
                {
                    Cola.InsertarFinal(nodo);
                }
                for (int i = 0; i < Cola.contador; i++)
                {
                    Cola.ObtenerValor(i).indice = i;
                }
            }
            else
            {
                Cola.InsertarFinal(nodo);
                for (int i = 0; i < Cola.contador; i++)
                {
                    Cola.ObtenerValor(i).indice = i;
                }
            }
        }