好文
https://www.xjx100.cn/news/203465.html?action=onClick
序号 | Qt数据结构 | 底层实现 | STL数据结构 | 底层实现 |
---|---|---|---|---|
1 | QPair | 简单,只包含两个成员变量 | std::pair | 简单,只包含两个成员变量 |
2 | QVector | 动态数组 | std::vector | 动态数组 |
std::deque(双端vector) | std::vector | |||
3 | QLinkedList | 双向链表,只支持单向迭代器 | std::forward_list | 单向链表,支持前向迭代器 |
4 | QList | 动态数组或链表结构 | std::list | 双向链表 |
5 | QStack | QVector | std::stack | std::deque、std::list等 |
6 | QQueue | QList | std::queue | std::deque、std::list等 |
7 | QHash | 散列表(哈希表) | std::unordered_map | 散列表(哈希表) |
8 | QMultiHash | 散列表(哈希表) | std::unordered_multimap | 散列表(哈希表) |
9 | QCache | std::unordered_map + LRU算法 | ||
10 | QSet | 散列表(哈希表) | std::set | 平衡二叉树(通常为红黑树) |
11 | QMultiSet | 散列表(哈希表) | std::multiset | 平衡二叉树(通常为红黑树) |
12 | QMap | 平衡二叉树(红黑树) | std::map | 平衡二叉树(红黑树),因编译器而异 |
13 | QMultiMap | 平衡二叉树(红黑树) | std::multimap | 平衡二叉树(红黑树),因编译器而异 |
1-std::deque的底层实现
https://blog.csdn.net/a731062834/article/details/82975776