考试辅导

名师推荐

试听名师的课 查看所有名师

2011年软件设计师辅导:并行排序算法(4) 发布时间:2011-03-15 22:22 来源:互联网

2011年软件设计师辅导:并行排序算法(4)

  // Merge sort

  MergeSort < T > mergeSort = new MergeSort < T > ();

  List < T[] > source = new List < T[] > (processorCount);

  foreach (ParallelEntity pe in partArray)

  {

  source.Add(pe.Array);

  }

  mergeSort.Sort(array, source, comparer);

  }

  }

  }

  多路归并排序类 MergeSort

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Text;

  namespace Sort

  {

  /**/ ///

  /// MergeSort

  ///

  ///

  public class MergeSort < T >

  {

  public void Sort(T[] destArray, List < T[] > source, IComparer < T > comparer)

  {

  // Merge Sort

  int [] mergePoint = new int [source.Count];

  for ( int i = 0 ; i < source.Count; i ++ )

  {

  mergePoint[i] = 0 ;

  }

  int index = 0 ;

  while (index < destArray.Length)

  {

  int min = - 1 ;

  for ( int i = 0 ; i < source.Count; i ++ )

  {

  if (mergePoint[i] >= source[i].Length)

  {

  continue ;

  }

  if (min < 0 )

  {

  min = i;

  }

  else

  {

  if (comparer.Compare(source[i][mergePoint[i]], source[min][mergePoint[min]]) < 0 )

  {

  min = i;

  }

  }

  }

  if (min < 0 )

  {

  continue ;

  }

  destArray[index ++ ] = source[min][mergePoint[min]];

  mergePoint[min] ++ ;

  }

  }

  }

  }

 

第一考试网友情提示:如果您遇到任何疑问,请登录第一考试网考试辅导频道或添加qq:,第一考试网以“为考友服务”为宗旨,秉承“快乐学习,轻松考试!”的理念,旨在为广大考友打造一个良好、温馨的学习与交流平台,欢迎持续关注。以上是小编为大家推荐的《2011年软件设计师辅导:并行排序算法(4)》相关信息。

编辑推荐

VRRP协议的相关信息

2011年软考数据库系统工程师知识点讲解(5)

用vsftpd代码建立虚拟主机

H.248协议的作用及功能介绍

2011年软件设计师知识点:什么是设计模式