Beispiel #1
0
 public void CambioEstructura()
 {
     if (CSharpListaActiva)
     {
         for (int i = ListaCSharp.Count - 1; i >= 0; i--)
         {
             listaDoble.InsertarInicio(ListaCSharp[i]);
         }
         ListaCSharp.RemoveRange(0, ListaCSharp.Count);
         ActivarArtesanal();
         ActivarCSharp();
     }
     else
     {
         for (int i = 0; i < listaDoble.contador; i++)
         {
             ListaCSharp.Add(listaDoble.ObtenerValor(i));
         }
         ActivarCSharp();
         ActivarArtesanal();
         while (listaDoble.contador > 0)
         {
             listaDoble.ExtraerEnPosicion(0);
         }
     }
 }
        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;
                }
            }
        }