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++; } }