Ejemplo n.º 1
0
 public void insertarPaciente(Paciente pac, PacienteIndice pacDPI, int prioridad, PacienteIndiceApellido pacApellido, PacienteIndiceNombre pacNombre)//Aqui se insertan en todas las estructuras a utilizar
 {
     listaPacientes.AgregarInicio(pac);
     avlPaciente.Insertar(pacDPI);
     avlPacienteApellido.Insertar(pacApellido);
     avlPacienteNombre.Insertar(pacNombre);
     priodadPaciente.insertar(prioridad, pac);
     tablaPaciente.Pos(FHash(pac.nombre + pac.apellido)).Agregar(FHash(pac.nombre + pac.apellido), pac);
     totalPacientes++;
     pacientesPrioridad++;
 }
        public void insertar(int prio, Paciente pac)
        {
            PrioridadIndice newTemp = new PrioridadIndice(prio, pac);

            if (tamLista == 0)
            {
                pacPrioridad.AgregarInicio(newTemp);
                listaAlternativa.Add(prio);
                tamLista++;
            }
            else
            {
                int             aux      = prio;
                bool            agregado = false;
                PrioridadIndice auxPac   = newTemp;
                for (int i = 0; i < tamLista; i++)
                {
                    if (aux < listaAlternativa[i])
                    {
                        //Cambio lista c#
                        int temp = aux;
                        aux = listaAlternativa[i];
                        //listaAlternativa[i] = temp;
                        //  listaAlternativa.Add(aux);
                        listaAlternativa.Insert(i, temp);

                        //Cambio lista artesanal
                        PrioridadIndice tempPac = auxPac;
                        auxPac = pacPrioridad.DevolverValue(i);
                        pacPrioridad.AgregarPos(i, tempPac);
                        //  pacPrioridad.AgregarFinal(auxPac);

                        agregado = true;
                        if (i == 0)
                        {
                            aux = listaAlternativa[tamLista];
                        }
                    }
                }
                if (agregado == false)//se agrega alfinal esto por si el dato es el mayor
                {
                    //lista c#
                    listaAlternativa.Add(aux);
                    //lista artesanal
                    pacPrioridad.AgregarPos(tamLista, auxPac);
                }
                tamLista++;
            }
        }