Qt 容器介绍

这篇具有很好参考价值的文章主要介绍了Qt 容器介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Qt容器对应STL容器,都是分为序列容器(顺序)容器、关联容器、散列(哈希)容器。

序列容器(顺序)容器:QVector、QList、QLinkedList、QStack、QQueue

关联容器:QMap、QMultiMap

散列容器:QSet、QHash、QMultiHash

QList<T>:T 不能QObject或者任何其子类。T必须是一个可赋值的类型,即提供一个缺省的构造函数、可拷贝构造函数、赋值运算符。其他容器应该也是吧了,同时需要验证。

QMap: 字典型容器。会将Key类型的值映射到T类型的Value上,一个Key对应一个Value,且按Key顺序存储.相当于std::map  时间复杂度是o(logn)

QMultiMap:相当于std::multimap  时间复杂度是o(logn)

QSet:与STL中set是有本质区别的,QSet基于哈希表,set基于红黑树变种。相当于std::unordered_set  提供了不允许有重复值的集合,提供快速的查找效率, 插入和查找时间复杂度都是o(1)

QHash相当于std::unordered_map     插入和查找时间复杂度都是o(1)

QMultiHash相当于std::unordered_multimap 插入和查找时间复杂度都是o(1)

其他的介绍可以参看:https://blog.csdn.net/baidu_16370559/article/details/123245803文章来源地址https://www.toymoban.com/news/detail-503798.html

到了这里,关于Qt 容器介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 设置Json序列化时字段的顺序

    1. 背景 在部分使用场景(如元数据驱动,后台接口仅返回序列化后的json字符串,前端需要根据每个字段在前端呈现),需要手动设置字段的长度。通常情况下,框架是有默认的顺序,如 jackson 默认使用字段声明的顺序, fastjson 默认是使用字典序。在这种业务场景下,就需要

    2024年02月07日
    浏览(32)
  • c++之顺序容器

    sequential container 向容器中添加或从容器中删除元素的代价 非顺序访问容器中元素的代价 string和vector中元素保存在连续的内存空间,由于元素时连续存储的,所有下表计算地址非常快,当从容器中间位置添加或删除元素非常耗时。 list和forward_list连个容器在任意位置添加和删除

    2023年04月14日
    浏览(24)
  • k8s快速查看pod对应的容器

    环境: centos 7.6 k8s 1.20 我们知道,在k8s中最小基本单位是pod,而一个pod里面可以封装一个或多个容器,而在宿主机上容器的名字并不是pod的名字,所以,下面的方式可以快速的查看一个pod里面对应宿主机哪些容器:

    2024年02月07日
    浏览(39)
  • C++之STL顺序容器

    目录 一、STL容器简介 二、顺序容器   STL容器是一个通用的数据结构,可以处理不同数据类型,包含基本的数据结构如 链表、堆栈、队列 等。可以分为 顺序容器、关联容器、 容器适配器、特殊容器 。本篇博客将简要介绍一下STL容器中的顺序容器。 2.1.特点: • 元素的添加

    2024年02月02日
    浏览(27)
  • 超简单实用docker设置容器启动顺序

    问题描述: 在分布式项目部署的过程中,经常要求服务器重启之后,应用能够自动恢复使用,设置开机自启docker及所有容器后会出现的问题是部分服务或环境存在依赖关系导致启动失败。这时就需要控制一下各个服务之间的启动顺序了。 解决办法 1、首先得设置docker开机重启:

    2024年02月15日
    浏览(31)
  • C++STL:顺序容器之vector

    vector 容器是 STL 中最常用的容器之一,它和 array 容器非常类似,都可以看做是对 C++ 普通数组的“升级版”。不同之处在于,array 实现的是静态数组(容量固定的数组),而 vector 实现的是一个动态数组,即可以进行元素的插入和删除,在此过程中,vector 会动态调整所占用的

    2024年02月13日
    浏览(30)
  • 07 Qt编译C语言时如何消除警告-Wunused-parameter,网上搜到的都是针对C++的

    作者 将狼才鲸 创建日期 2022-12-08 CSDN文章地址:Qt编译C语言时如何消除警告-Wunused-parameter Qt MinGW中对C文件和C++文件一起编译时,会根据后缀自动选择编译器,.cpp的文件会用g++编译,.c的文件会用gcc编译。 所以,要消除Qt中的警告则在.pro工程文件中添加一行: 如果是.c文件:

    2024年02月11日
    浏览(26)
  • C++ Primer (第五版)-第九章 顺序容器

    如何选择合适的容器 迭代器 容器类型成员 列表初始化 赋值和Swap 容器的大小 关系运算符 9.3.1向顺序容器添加元素 访问元素 删除元素 改变容器大小 ### 容器操作可能使迭代器失效 9.5.2、改变string其他的方法 9.5.3 string搜索操作

    2023年04月17日
    浏览(36)
  • EXCEL按列查找,最终返回该列所需查询序列所对应的值,VLOOKUP函数

    EXCEL按列查找,最终返回该列所需查询序列所对应的值 示例:国标行业分类汉字,匹配id 使用VLOOKUP函数 第一参数:拿去查询的值。 第二参数:匹配的数据。 Ps:Sheet1!$C 21 : 21: 21 : E 117 ,需要固定住位置,所以使用 117,需要固定住位置,所以使用 117 ,需要固定住位置,所以

    2024年02月13日
    浏览(36)
  • docker磁盘空间爆满 通过overlay2 目录名查找对应容器

    看到占用磁盘空间最大的目录是docker存储根目录下的overlay2目录 再查看docker存储根目录下的overlay2目录下哪个目录占用空间最大 找出最大的这个overlay2目录的目录名是:ef129273a3f100feec4970bee90b0b83d9f1b170f6a76668eba9bdcfbf5f4ac8 下面需要使用这个目录名字符串去反向查找这个目录属于哪

    2024年02月16日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包