qt 常用数据结构

QList

QList 列表的一个模板类。

QLinkedList

QLinkedList 链表的一个模板类。

这个容器类类似于QList,只不过它是使用迭代器来访问,而不是下标。当从中间插入时,它的效率比QList还要高。并且,它有更好的迭代器语义。

链表列表区别

  • 顺序表存储数据,需预先申请一整块足够大的存储空间,然后将数据按照次序逐一存储,数据之间紧密贴合,不留一丝空隙

  • 链表的存储方式与顺序表截然相反,什么时候存储数据,什么时候才申请存储空间,数据之间的逻辑关系依靠每个数据元素携带的指针维持

QQueue

QQueue 这个容器类继承自QList,提供了“先入先出”的语义。

QVector

QVector 动态数组的一个模板类。

QSet

QSet 这个容器类提供了不允许有重复值的集合,提供快速的查找效率。

QMap

QMap<Key, T>:提供了字典数据结构(关联数组),将类型 T 的值同类型 Key 的
键关联起来。

QMap<int , QString> mapInt;
mapInt.insert(2,"aaa");
mapInt[3] = "bbb"; //也可以这种方式插入数据
bool isCtn = mapInt.contains(2);//是否包含该键值 isCtn = true
QString str = mapInt[2];//根据键,取出对应的值 str = "aaa"

QHash

这个容器类的API和QMap几乎一样,但它提供了更快速的查找操作。并且,该类会按任意的顺序存储值。

QVariant

QVariant 是万能变量,可以存取各种变量。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×