private void buttonSimular_Click(object sender, EventArgs e) { for (int i = 1; i < 200; i++) { int random = numeroRandom.Next(1, 100); if (random <= 25) { int randomN = numeroRandom.Next(4, 15); nuevo = new Procesos(randomN); Fifo.Enqueue(nuevo); } if (Fifo.peek() != null) { Fifo.restar(); if (Fifo.peek().proceso == 0) { Fifo.Denqueue(Fifo.peek()); contAtendido++; } } else { contVacio++; } } textBoxAtendidos.Text = "Total de procesos atendidos: " + contAtendido + "\n Ciclos Vacios: " + contVacio + "\n Total de procesos en espera:" + Fifo.contadorEspera(); //textBoxEspera.Text = Fifo.ToString(); //label1.Text = "Total de procesos atendidos: " + contAtendido + " Ciclos Vacios: " + contVacio + " Total de procesos en espera" + Fifo.enEspera(); }
public Procesos Denqueue(Procesos nuevo) { Procesos temporal = primerProceso; if (primerProceso.siguiente == primerProceso) { primerProceso = null; } else { primerProceso = primerProceso.siguiente; } return(temporal); }
//public int enEspera() //{ // return contEspera; //} public int contadorEspera() { string str = " "; Procesos t = primerProceso; while (t.siguiente != primerProceso) { contEspera++; str += t.ToString(); t = t.siguiente; } return(contEspera);; }
public Procesos restar() { if (primerProceso.siguiente == primerProceso) { temporal = primerProceso; } else { temporal = temporal.siguiente; if (temporal.proceso != 0) { temporal.proceso--; } } return(temporal); }
public void Enqueue(Procesos nuevo) { if (primerProceso == null) { primerProceso = nuevo; nuevo.siguiente = primerProceso; } else { Procesos temporal = primerProceso; while (temporal.siguiente != primerProceso) { temporal = temporal.siguiente; } temporal.siguiente = nuevo; nuevo.siguiente = primerProceso; } }
//if (primerProceso == null) //{ // primerProceso = nuevo; // ultimo = nuevo; //} //else //{ // ultimo.siguiente = nuevo; // nuevo.anterior = ultimo; // ultimo = nuevo; //} public Procesos PrimeroFantasma() { Procesos Pfantasma = primerProceso; return(Pfantasma); }
public CircularesFifo() { primerProceso = null; ultimo = null; }