我现在要实现具有这样两个个功能的表:
表里很多节点是按序存放的,现在要将一个新节点按序插入该表中,二是要在这个表中查找有没有要插入的节点。
简单说来就是要实现一个按序插入和可以快速查找的表。主要考虑到效率问题,因为表中节点非常多,而且要插入和查找的点也非常多,我现在想使用STL中的优先级队列,请问这个方法合适么?有没有效率更高,时间复杂度更低,编写代码简单的模板??请高手指教

解决方案 »

  1.   

    请参考 std::tr1::unordered_map
      

  2.   


    刚查了一下,unordered_map没有插入的时候自动排序这个功能啊
      

  3.   

    优先级队列只是保证top的那个元素是最大的,后面的元素是无序的。
      

  4.   

    我所接触到优先级队列是用的堆来做底层实现的
    楼主描述的功能,set是最好不过的
      

  5.   

    使用 std::set<T> 吧。
      

  6.   

    std::set<> 完美应对楼主的需求