c# 字典表排序

原文链接 :http://blog.csdn.net/xxj_jing/article/details/8005683

      Dictionary<string, string> dic1 = new Dictionary<string, string>();
      dic1.Add("ddd","123");
       dic1.Add("aaa", "123");
       dic1.Add("ccc", "123");
       dic1.Add("fff", "123");
       dic1.Add("eee", "123");
       dic1.Add("bbb", "123");
       Dictionary<string, string> dic1Asc = dic1.OrderBy(o => o.Key).ToDictionary(o => o.Key, p => p.Value);
       Dictionary<string, string> dic1desc = dic1.OrderByDescending(o => o.Key).ToDictionary(o => o.Key, p => p.Value);

       Dictionary<string, string> dic1Asc1
         = (from d in dic1
            orderby d.Key ascending
            select d).ToDictionary(k => k.Key, v => v.Value);
       Dictionary<string, string> dic1desc2
         = (from d in dic1
            orderby d.Key descending
            select d).ToDictionary(k => k.Key, v => v.Value);

       List<string> list = new List<string>();
       list.Add("aaa");
       list.Add("ddd");
       list.Add("bbb");
       list.Add("ccc");
       list.Add("bbb");
       var ascList = list.OrderBy(o => o);
       var descList = list.OrderByDescending(o => o);

       var ascList1 = (from l in list
                       orderby l ascending
                       select l).ToList();
       var descList2 = (from l in list
                        orderby l descending
                        select l).ToList();

      string str = "";

时间: 2024-11-06 17:52:24

c# 字典表排序的相关文章

普通集合和泛型集合的区别,哈希表和字典表的区别,队列和堆栈的区别以及堆和栈的区别。

普通集合和泛型集合的区别: 泛型集合与传统集合相比 类型更安全. 泛型集合无需装箱拆箱操作. 泛型的重要性. 泛型是未来五年的主流技术 ... 通常情况下,建议您使用泛型集合,因为这样可以获得类型安全的直接优点而不需要从基集合类型派生并实现类型特定的成员.此外,如果集合元素为值类型,泛型集合类型的性能通常优于对应的非泛型集合类型(并优于从非泛型基集合类型派生的类型),因为使用泛型时不必对元素进行装箱. 下面的泛型类型对应于现有的集合类型: List 是对应于 ArrayList 的泛型类. Di

Python零基础入门(11)-------dict 字典表

dict 字典表属于映射的数据类型 特性:通过键(key),而不是通过下标访问数据 包含任意对象的无序集合 可变长度,可任意嵌套 属于"可变映射" 分类 对象引用表(Hash Table) 声明:   d = { } 是一个空的字典表.字典表是一个 {key: value} 的形式.key 只能是不可变的元素(可变类型List就不可以). 从下面图片你也可以看出 dict 字典表 是一个无序的集合.是通过内部Hash算法排序的 key 只能是不可变类型的数据.可变类型就会抛出错误信息

如何通过字典表来获取下拉数据的实现

①在web.xml中添加监听,启动的时候初始化. <!--Web ApplicationContext 载入,继承处Spring的ApplicationContextListener --> <listener> <listener-class>cn.sccl.common.web.StartupListener</listener-class> </listener> ②我们需要在启动Tomcat的时候,初始化bizCode数据 package

Python字典按值排序、包含字典的列表按字典值排序的方法

#-*- encoding=utf-8 -*- import operator #按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1)) print sorted_x #[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)] #如果要降序排序,可以指定reverse=True sorted_x = sorted(x.i

数据结构学习笔记06排序 (快速排序、表排序)

1.快速排序 不稳定 分而治之 找主元pivot,小于主元划分为一个子集,大于主元的划分为一个子集 然后进行递归 最好情况:每次主元正好中分,T(N) = O( NlogN ) 选主元 的方法有很多,这里用 取头.中.尾的中位数. 直接选A[0]为pivot,时间复杂度T ( N ) = O( N ) + T ( N–1 ) = O( N ) + O ( N–1 ) + T( N–2 ) = = O( N ) + O ( N–1 ) + …+ O( 1 ) = O( N^2 ) 随机取pivot

GreenPlum之生成月份字典表

--生成月份字典表 drop table if exists monthmapping; create table monthmapping as select cast(to_char(onday,'yyyymm') as integer) monthid,onday from ( select cast('2001-01-01 00:00:00' as timestamp) + (c ||' day')::interval as onday from generate_series(0,10

spring启动时加载字典表数据放入map

import java.util.HashMap; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.zsmy.constant.Constant; import cn.zsmy.service.tmp.ExDictService; import cn.zsmy.

数据结构--排序(上)--表排序

表排序 表排序排序的是一个元素很大的.移动元素的时间很长,所以移动指针. 间接排序 物理排序 N个数字的排列由若干个独立的环组成. 如何判断一个环的结束? 正确答案:每访问一个空位i后,就令table[i]=i.当发现table[i]== i  时,环就结束了. 物理排序过程的最好情况是 :顺序都是一样的,什么都不用做. 物理排序过程的最坏情况是 : 有N/2个环,每个环包含2个元素

排序之表排序、基数排序及所有排序算法比较

本学习笔记部分内容来自浙江大学网易云课堂,谢谢! 1.表排序 定义一个指针数组做为表.排序的时候,数组位置上的数值不变,改变的是指针的指向. 如该图,初始数值:f d c a g b h e   开始时,比较f>d,则指针0指向d,指针1指向f.之后比较f>c,d>c,则指针0指向c,指针1指向d,指针2指向f.以此类推,最终指针0指向a的位置(即table[0]=3,A[3]那个位置) 2.基数排序 基本思想:比如十进制数字排序,先按个位数大小排,再按十位数大小排,依次.举例如下: 基