日期:2014-05-17  浏览次数:20840 次

求一个网上不知道怎么问的算法
我是用的C#语言,比如我有N个DataTable,要求这N个DataTable同一行同一列去掉最大值和最小值求平均值,然后应该得到一个新的DataTable。描述起来感觉就那么几个字,不过用代码写起来不知道怎么处理了。求高手回答。小弟把所有分献上了。
------解决方案--------------------
for(int i=0;i<N;i++)
{
//遍历table
//取行列值,放到数组中,或者放到new DataTable中,不会去看帮助,当然这里可以对最大值最小值处理
}
------解决方案--------------------
写一个高效的算法确实要废些脑筋。
------解决方案--------------------
评分系统吧。  1楼的方法可行
------解决方案--------------------
如果表结构一样的话,先合并在一个表中再来处理应该更快一些
------解决方案--------------------
那你先用冒泡  去除  最大相应的最小、、然后、、就然后了
------解决方案--------------------
那你用一个分隔符、、把要分开的数据结尾用个字符割断、、你读的时候 把字符跳过 不读、、
------解决方案--------------------
for(int i=0;i<N;i++)
{
//遍历table
//取行列值,放到数组中,或者放到new DataTable中,不会去看帮助,当然这里可以对最大值最小值处理
}
------解决方案--------------------
                newDt;//new 一个DataTable
                for (int j = 0; j < t1.Rows.Count; j++)// 遍历行数
                {
                    for (int k = 0; k < t1.Columns.Count; k++)//遍历列数
                    {
                        //获取N个DataTable中同行同列的值集合
                        var currentCellValues = new Array[N];
                        for (var i = 0; i < N; i++)
                        {
                            currentCellValues[i] = t1.Columns;
                        }
                        //去掉最大和最小值,再去平均(建议linQ)
                        var currentCellValue = ....
                        newDT[j,k] = currentCellValue ;
                    }
            }