C#中List或其它集合对象排序方法的一点理解
来源:互联网 发布:windows安装redis步骤 编辑:程序博客网 时间:2024/06/05 02:35
因为这个是老生常谈的话题了吧,所以过多的其它代码粘贴或拷贝就不做太多,只谈谈这段时间为了解决项目特别功能而用到的基础排序知识!
在项目中进行数据排序是非常常见的,所以今天做个备注,方便日后查阅吧!
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;
List<int> list = new List<int>();
list.Add(0);
list.Add(8);
list.Add(-3);
list.Add(3);
list.Add(9);
list.Sort(这里需要一个比较器);
说一下如上需要的比较器的特征:能够判断大小、两两能比较(扩展方法sort已经做了参数的接收,剩下的排序由sort解决,默认升序)。由此,容易设想到方法有很多的如比较器IComparable、IComparer的实现,委托的实现:其实核心就是CompareTo方法。
4,单值判断,特别是字符串排序(比较)
==比较、Equals比较、CompareTo的单值比较等。
5,其它
可以说,算法万千,是否只有这些?NO!时间关系,这里简单做了一些介绍!只要用心思考及不断总结就会得到意想不到的收获!同时,在实际应用中,功能与性能等均是我们要考虑的,等等!
今天的代码少(网上应该很多代码!-_-),抱歉!吃饭去了!哈哈!
- C#中List或其它集合对象排序方法的一点理解
- c# 中 List能对T对象排序的方法
- C#中对List集合的理解
- Android中list集合的排序方法
- list集合中根据对象排序的问题
- .NET/C#中对自定义对象集合进行自定义排序的方法
- .NET/C#中对自定义对象集合进行自定义排序的方法
- c# 中 List能对T对象排序的方法(二)
- java中List对象集合的遍历方法
- list 集合对象 排序
- java中LIST集合排序通用方法
- JAVA中根据集合中对象属性排序的方法
- java List集合中根据集合对象的属性值进行排序
- java 集合中自定义对象的几种排序方法
- java中List对象排序的通用方法
- C# 中list的排序
- C#中List的排序
- C#中List的排序
- Java多线程学习零散笔记
- Django-类视图
- PowerDesigner使用方法
- Hadoop分布式计算框架之Shuffler
- 有用的连接
- C#中List或其它集合对象排序方法的一点理解
- iOS 设置圆角(总结)
- LoadRunner11设置场景百分比模式完成多台客户端负载测试
- 设计模式遵循的七大原则
- 打造你自己的企业级 SOA 市场
- 等待/通知机制:wait/notify
- Android实现将应用崩溃信息发送给开发者并重启应用的方法
- js shift unshift pop push用法
- Spring实现数据库的读写分离