选择数据结构

Atu*_*tul 2 c

根据需要使用不同的数据结构,但我如何知道应该使用哪种数据结构?我只是想知道如何选择合适的数据结构?谢谢

Bil*_*eal 8

此流程图适用于C++中的STL,但您可以实现C中STL容器支持的任何数据结构.

  • 列表是一个链表
  • 矢量是一个动态数组
  • Deque就像一个动态数组列表 - 有点分裂差异.
  • 队列和优先级队列就像他们所说的那样(通常队列是以deque方式实现的,优先级队列通常是根据vector或deque中的堆来实现的)
  • Set/Map/Multiset/Multimap都是使用某种形式的平衡二叉树实现的.

更新2016:显然我以前链接到此处的图像已被链接腐烂,但您可以在此问题上看到几个等效图像:在哪种情况下我使用特定的STL容器?