有一个二维数组A[5][],当往A中传值时,我需要判断A中的每一行的平均值,往平均值最小的行里插入数值。问题来了,当我往一个平均值最小的行里插值后,更新它的平均值,则平均值还是最小,那么怎么实现将等于它行号个元素插入二维数组时,实现按照它上一状态时的平均值插入。比如当我插入15-19的数据前,二维数组每行的平均值状态为{5,3,2,1,4},我怎么将15-19按照索引3,2,1,4,0的顺序插入到二维数组里.
你不会每次插入后重新计算一下平均值吗?
但是,我重新计算平均值后,它还是最小值啊,比如说某一列平均值为5,总值为50,有10个元素,那我放进去一个3以后,它的平均值为53/11,比原来还小。
这是我计算最小值的函数:
protected static int getMixIndex(double[] a) { index = 0; for (int i = 0; i < a.Length; i++) { double mix = a[0]; if (mix > a[i]) { mix = a[i]; index= i; } } return index; }
这是我插入的函数:
for (int i = 5; i < tempn; i++) { for (int j = i * num; j < (i + 1) * num; j++) { index = getMixIndex(avg); b[index].Add(list[j]); sum[index] += list[j]; avg[index] = sum[index] / b[index].Count; } }