c++的map,封装了二叉树算法,放入的key,会自动升序排序.用迭代器++,就可以读到排序后的key.
C#有类似容器嘛?Dictionary<string, int>看似很像 map<string, int>,但Dictionary<string, int>不是按key排序的,底层实现不一样.
我用map主要是用来排序,我觉得2叉树的排序,总比气泡法一个个比较要快很多吧.
C#里有没有类似的容器啊?

解决方案 »

  1.   

    Dictionary <string, int>与hashtable 都属于无序字典表
    ArrayList能够实现排序方式
      

  2.   

    Dictionary<string, int> aa=new Dictionary<string,int>();
    aa["23"]=23;
    aa["12"]=12;
    aa["19"]=19;
    foreach (KeyValuePair<string, int> a in aa)
    {
         Response.Write(a.Key+"|");
    }
    输出 23|12|19 按插入先后输出map<string ,int> word;
    word["23"]=23;
    word["12"]=12;
    word["19"]=19;
    map<string ,int>::iterator it=word.begin();
    for(;it!=word.end();it++)
    cout<<it->first<<"|";
    输出 12|19|23 按key顺序排列
      

  3.   

    C++中的map好像是用红黑树来实现的,效率不是很高,如果仅是排序用不着这样吧?或自己重载要排序的对象的类的GetHashCode()方法,