示例#1
0
        private void button10_Click(object sender, EventArgs e)
        {
            int quantum = Convert.ToInt32(textBox4.Text);

            MyList = MyList.RR(quantum);

            int total = MyList.TotalNodos();

            int    n;
            double promTR = 0;
            double promTE = 0;

            for (int i = 1; i < total; i++)
            {
                n = dataGridView3.Rows.Add();
                dataGridView3.Rows[n].Cells[0].Value = Convert.ToString(MyList.ObtNombre(i));
                dataGridView3.Rows[n].Cells[1].Value = Convert.ToString(MyList.Obttll(i));
                dataGridView3.Rows[n].Cells[2].Value = Convert.ToString(MyList.Obtejec(i));
                dataGridView3.Rows[n].Cells[3].Value = Convert.ToString(MyList.ObtIni(i));
                dataGridView3.Rows[n].Cells[4].Value = Convert.ToString(MyList.ObtFin(i));
                dataGridView3.Rows[n].Cells[5].Value = Convert.ToString(MyList.ObtRet(i));
                dataGridView3.Rows[n].Cells[6].Value = Convert.ToString(MyList.ObtEsp(i));
                promTR = promTR + MyList.ObtRet(i);
                promTE = promTE + MyList.ObtEsp(i);
            }

            promTR = promTR / (total - 1);
            promTE = promTE / (total - 1);

            label8.Text = Convert.ToString(promTR);
            label9.Text = Convert.ToString(promTE);
        }
        public CListaProceso RR(int quantum)
        {
            int           n = 0;
            int           q;
            CListaProceso ListAux = new CListaProceso();

            ListAux.InsertarRR(cabeza.Siguiente);

            aux = cabeza.Siguiente;

            while (aux != null)
            {
                q  = ListAux.ExecRR(quantum, n);
                n += q;

                if (aux.Siguiente != null)
                {
                    aux2 = aux.Siguiente;
                    while (aux2 != null && aux2.TLL <= n)
                    {
                        ListAux.InsertarRR(aux2);
                        aux2 = aux2.Siguiente;
                    }
                    if (aux2 != null)
                    {
                        aux = aux2.Anterior.Anterior;
                    }
                    else
                    {
                        aux = aux.Siguiente;
                    }
                }
                aux = aux.Siguiente;
                ListAux.InsertarRR(ListAux.GetFirst());
                ListAux.Eliminar();
            }
            ListAux.CompletarRR(quantum, n);
            return(ListAux);
        }