WEB开发网
开发学院软件开发C语言 浅谈分组统计 阅读

浅谈分组统计

 2009-06-14 08:33:35 来源:WEB开发网   
核心提示: 要注意 Linq 方法无论是运行时间还是占用的内存都更大。我们来看看 Main 方法:staticvoidMain(string[]args){try{newProgram().Run(Console.Out,int.Parse(args[0]));}catch(Exceptionex){

要注意 Linq 方法无论是运行时间还是占用的内存都更大。

我们来看看 Main 方法:

static void Main(string[] args)
{
 try
 {
  new Program().Run(Console.Out, int.Parse(args[0]));
 }
 catch (Exception ex)
 {
  Console.WriteLine(ex);
 }
}

void Run(TextWriter writer, int n)
{
 var tuples = GetTuples(n * 1024 * 1024);
 Write("ForEach", writer, ForEach(tuples));
 Write("Iterate", writer, Iterate(tuples));
 Write(" Linq ", writer, Linq(tuples));
}

其中的 Write 方法如下所示:

void Write(string title, TextWriter writer, IEnumerable<Tuple<int, int, double>> tuples)
{
 writer.WriteLine("==========> " + title + " <============");
 writer.WriteLine("Key ------Count Average----------");
 var count = 0;
 var sum = 0.0;
 foreach (var t in tuples)
 {
  writer.WriteLine("{0,3} {1,11:N0} {2}", t.Item1, t.Item2, t.Item3);
  count += t.Item2;
  sum += t.Item2 * t.Item3;
 }
 writer.WriteLine("--- ----------- -----------------");
 writer.WriteLine("{0,3} {1,11:N0} {2}", tuples.Count(), count, sum / count);
 writer.WriteLine();
}

上一页  1 2 3 4  下一页

Tags:分组 统计

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接