因为这个是老生常谈的话题了吧,所以过多的其它代码粘贴或拷贝就不做太多,只谈谈这段时间为了解决项目特别功能而用到的基础排序知识!
在项目中进行数据排序是非常常见的,所以今天做个备注,方便日后查阅吧!
1,自定义集合的自定义排序算法:一般基本算法中有讲解
这些算法在时空复杂度方面一般都会做对比,可以说是我们算法的必修课!这里不做解说了!
2,数组、集合的LINQ排序:
个人比较喜欢复用特性及抽象特性。LINQ扩展方法排序:这个是.net3.5之后我就一直喜欢的,其主要使用了类似SQL的语法即Lambda表达式进行,其主要通过扩展方法来做实现,一般的集合类都有扩展。所以,一般具有“集合特性”的数据对象,通过LINQ来操作就非常方便了。
如:
int[] numtemp = new int[5] { 0,8,-3,3,9};
numtemp= numtemp.OrderBy(n => n).ToArray();//如果熟悉SQL语言的话,Lambda就非常容易理解了
3,集合LINQ扩展方法Sort(带有这个方法的集合对象)的比较器排序:有点拗口哦!
.net对数据结构中涉及到的常见的数据结构进行了实现,如集合、队列、堆栈、链表等,这里说List;