Exemple #1
0
        public void RecursiveTree(DataTable tb, Node XML, ArrayList arr_GainRatio)
        {
            ArrayList arr_GainRatio1 = new ArrayList();;

            GainRatio GR;

            for (int i = 0; i < arr_GainRatio.Count; i++)
            {
                GR = new GainRatio(this.GainRation(((GainRatio)arr_GainRatio[i]).at), ((GainRatio)arr_GainRatio[i]).at);
                arr_GainRatio1.Add(GR);
            }
            for (int i = 0; i < arr_GainRatio.Count - 1; i++)
            {
                for (int j = i + 1; j < arr_GainRatio.Count; j++)
                {
                    if (((GainRatio)arr_GainRatio[j]).value > ((GainRatio)arr_GainRatio[i]).value)
                    {
                        GainRatio temp = (GainRatio)arr_GainRatio[i];
                        arr_GainRatio[i] = arr_GainRatio[j];
                        arr_GainRatio[j] = temp;
                    }
                }
            }

            if (arr_GainRatio.Count > 0)
            {
                for (int i = 0; i < arr_GainRatio.Count; i++)
                {
                    tb_Mau.DefaultView.RowFilter = "tinhhieuqua='có' and " + ((GainRatio)arr_GainRatio[0]).at.AttributeName + "='" + ((GainRatio)arr_GainRatio[0]).at.values[i] + "'";
                    double C = tb_Mau.DefaultView.ToTable().Rows.Count;
                    tb_Mau.DefaultView.RowFilter = "tinhhieuqua='không' and " + ((GainRatio)arr_GainRatio[0]).at.AttributeName + "='" + ((GainRatio)arr_GainRatio[0]).at.values[i] + "'";
                    double K = tb_Mau.DefaultView.ToTable().Rows.Count;

                    DataTable tb1 = tb_Mau.DefaultView.ToTable();

                    RecursiveTree(tb1, node_child, arr_GainRatio1);
                    arr_GainRatio1.RemoveAt(0);
                }
            }
        }
Exemple #2
0
        public ArrayList GetGainRatio(Attribute[] attributes)
        {
            ArrayList arr_GainRatio = new ArrayList();;

            for (int i = 0; i < attributes.Length; i++)
            {
                GainRatio GR = new GainRatio(this.GainRation(attributes[i]), attributes[i]);
                arr_GainRatio.Add(GR);
            }
            for (int i = 0; i < arr_GainRatio.Count - 1; i++)
            {
                for (int j = i + 1; j < arr_GainRatio.Count; j++)
                {
                    if (((GainRatio)arr_GainRatio[j]).value > ((GainRatio)arr_GainRatio[i]).value)
                    {
                        GainRatio temp = (GainRatio)arr_GainRatio[i];
                        arr_GainRatio[i] = arr_GainRatio[j];
                        arr_GainRatio[j] = temp;
                    }
                }
            }
            return(arr_GainRatio);
        }