Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象列表的合并排序实现#_C#_Implementation_Mergesort - Fatal编程技术网

C# 对象列表的合并排序实现#

C# 对象列表的合并排序实现#,c#,implementation,mergesort,C#,Implementation,Mergesort,我正在用c语言编写一个程序,我得到了一个包含我想用c语言排序的对象的列表。 我无法让它工作,也不明白它应该如何实施 我对应该使用哪种算法做了一些研究,并提出了合并排序,因为它总是n(logn),并且不依赖像pivot这样的快速排序来实现它 无论如何,到目前为止,我为什么选择它并想要它。:) 这是一张有分量的单子 每个体重包含一个日期和一个体重。 我想让它在日期上排序,并让方法返回排序列表 有人能帮我做到这一点吗。你会帮我很多忙:) 提前感谢您可以使用linq对集合进行排序,例如: public

我正在用c语言编写一个程序,我得到了一个包含我想用c语言排序的对象的列表。 我无法让它工作,也不明白它应该如何实施

我对应该使用哪种算法做了一些研究,并提出了合并排序,因为它总是n(logn),并且不依赖像pivot这样的快速排序来实现它

无论如何,到目前为止,我为什么选择它并想要它。:)

这是一张有分量的单子 每个体重包含一个日期和一个体重。 我想让它在日期上排序,并让方法返回排序列表

有人能帮我做到这一点吗。你会帮我很多忙:)


提前感谢

您可以使用linq对集合进行排序,例如:

public IEnumerable<Weight> GetSortedWeights()
{
    var weights = new List<Weight>() { new Weight { Date = DateTime.Now, BodyWeight = 80 }, ... };

    return weights.OrderBy(x => x.Date);
}
public IEnumerable GetSortedWeights()
{
var weights=new List(){new Weight{Date=DateTime.Now,BodyWeight=80},…};
返回weights.OrderBy(x=>x.Date);
}
1)在类中实现IComparable接口。2) 将对象添加到列表中。3) 对列表对象调用Sort()也是的,
IEnumerable.Sort
将执行快速排序,但通常比Mergesort好。使用Mergesort需要一个很好的理由,最重要的是,
IEnumerable.Sort
是一个优秀的快速排序实现。请阅读以下内容: