当前位置: 首页 > wzjs >正文

博星卓越电子商务网站建设实训平台做网站开源框架

博星卓越电子商务网站建设实训平台,做网站开源框架,网站建设与优化计入什么科莫,赣州seo排名QList简介 QList是QT中最通用的序列容器类,它可以用来存储和操作任意类型的数据。QList在内部实现为一个数组列表,它的每个元素都是一个指针,指向实际的数据对象。这样做的好处是,QList可以高效地在头部或尾部添加或删除元素&…

QList简介

QList是QT中最通用的序列容器类,它可以用来存储和操作任意类型的数据。QList在内部实现为一个数组列表,它的每个元素都是一个指针,指向实际的数据对象。这样做的好处是,QList可以高效地在头部或尾部添加或删除元素,而不需要移动其他元素的内存位置。同时,QList也可以通过下标或迭代器访问元素,提供了随机访问的能力。

QList的特点是:

  • 灵活性:QList可以存储任意类型的数据,包括基本类型,QT自带的类型,自定义的类型,甚至是其他容器类型。QList可以自动识别数据的类型,进行相应的内存管理和拷贝操作。
  • 高效性:QList可以快速地在头部或尾部添加或删除元素,因为它只需要修改指针的值,而不需要移动其他元素的内存位置。QList也可以通过下标或迭代器访问元素,提供了随机访问的能力。
  • 兼容性:QList可以和标准库的容器类进行互操作,例如std::vector,std::list,std::deque等。QList也可以和QT的其他容器类进行互操作,例如QVector,QLinkedList,QStack,QQueue等。QList还可以和C风格的数组进行互操作,例如int[],char[]等。

QList的缺点是:

  • 空间开销:QList为了提高时间效率,牺牲了一些空间效率。QList在内部使用了一个指针数组,而不是直接存储数据对象。这样做的结果是,QList占用的内存空间会比实际的数据对象多一些。
  • 缓存不友好:QList由于使用了指针数组,导致它的元素可能不是连续存储的。这样做的结果是,QList在访问元素时,可能会导致缓存失效,降低性能。

QList适用的场景是:

  • 需要频繁地在头部或尾部添加或删除元素的情况:QList在这种情况下可以提供很高的效率,而不需要移动其他元素的内存位置。
  • 需要随机访问元素的情况:QList在这种情况下可以提供很高的效率,因为它可以通过下标或迭代器访问元素。
  • 不太关心空间开销和缓存效率的情况:QList在这种情况下可以提供很高的灵活性,因为它可以存储任意类型的数据,而不需要考虑内存管理和拷贝操作。
#include <QList>
#include <QVariant>
#include <QString>
#include <QDebug>// 创建一个空的QListQList<int> list1;// 创建一个包含5个元素的QListQList<int> list2(5);// 创建一个包含3个元素的QList,并初始化为10QList<int> list3(3, 10);// 创建一个包含4个元素的QList,并使用列表初始化QList<int> list4{1, 2, 3, 4};// 创建一个包含3个元素的QList,并使用数组初始化int arr[] = {5, 6, 7};QList<int> list5 = QList<int>::fromArray(arr, 3);// 创建一个包含不同类型的元素的QList,并使用QVariant初始化QList<QVariant> list6;list6 << 1 << 3.14 << "Hello" << true;// 在QList的头部添加元素list1.prepend(0);// 在QList的尾部添加元素list1.append(9);// 在QList的中间插入元素list1.insert(1, 1);list1.insert(8, 8);// 删除QList的头部元素list1.removeFirst();// 删除QList的尾部元素list1.removeLast();// 删除QList的中间元素list1.removeAt(1);list1.removeAt(6);// 通过下标访问QList的元素qDebug() << "list1[0] =" << list1[0];qDebug() << "list1[1] =" << list1[1];// 通过at函数访问QList的元素qDebug() << "list1.at(0) =" << list1.at(0);qDebug() << "list1.at(1) =" << list1.at(1);// 通过value函数访问QList的元素,如果下标越界,返回默认值qDebug() << "list1.value(0) =" << list1.value(0);qDebug() << "list1.value(10) =" << list1.value(10);qDebug() << "list1.value(10, -1) =" << list1.value(10, -1);// 通过迭代器遍历QList的元素for (QList<int>::iterator it = list1.begin(); it != list1.end(); ++it){qDebug() << *it;}// 通过常量迭代器遍历QList的元素for (QList<int>::const_iterator it = list1.constBegin(); it != list1.constEnd(); ++it){qDebug() << *it;}// 通过反向迭代器遍历QList的元素for (QList<int>::reverse_iterator it = list1.rbegin(); it != list1.rend(); ++it){qDebug() << *it;}// 通过常量反向迭代器遍历QList的元素for (QList<int>::const_reverse_iterator it = list1.crbegin(); it != list1.crend(); ++it){qDebug() << *it;}// 通过范围for循环遍历QList的元素for (int x : list1){qDebug() << x;}// 对QList的元素进行排序list1.sort();// 对QList的元素进行倒序list1.reverse();// 对QList的元素进行随机打乱list1.shuffle();// 查找QList中是否包含某个元素qDebug() << "list1.contains(3) =" << list1.contains(3);// 查找QList中某个元素的下标qDebug() << "list1.indexOf(3) =" << list1.indexOf(3);// 查找QList中某个元素的最后一个下标qDebug() << "list1.lastIndexOf(3) =" << list1.lastIndexOf(3);// 查找QList中某个元素的出现次数qDebug() << "list1.count(3) =" << list1.count(3);// 获取QList的元素个数qDebug() << "list1.size() =" << list1.size();// 获取QList的容量qDebug() << "list1.capacity() =" << list1.capacity();// 判断QList是否为空qDebug() << "list1.isEmpty() =" << list1.isEmpty();// 清空QListlist1.clear();// 将QList转换为数组int *arr1 = list1.toArray();// 将QList转换为QVectorQVector<int> vec1 = list1.toVector();// 将QList转换为QLinkedListQLinkedList<int> link1 = list1.toLinkedList();// 将QList转换为QSetQSet<int> set1 = list1.toSet();// 将QList的元素转换为QVariantQList<QVariant> var1 = list1.toVariantList();// 将QVariant的元素转换为QListQList<int> list7 = list6.toIntList();

QList的元素操作

  • append(value):在列表的末尾添加一个值或另一个列表。
  • prepend(value):在列表的开头添加一个值。
  • insert(i, value):在列表的指定位置i插入一个值或多个相同的值。
  • remove(i):从列表中删除指定位置i的值。
  • replace(i, value):用一个新值替换列表中指定位置i的值。
  • take(i):从列表中删除指定位置i的值,并返回该值。
  • swap(i, j):交换列表中指定位置i和j的值。
  • move(i, j):将列表中指定位置i的值移动到指定位置。
  • at(i):返回列表中指定位置i的值的常量引用。
  • operator:返回列表中指定位置i的值的引用。
  • value(i):返回列表中指定位置i的值,如果i超出范围,则返回一个默认构造的值2。
  • first():返回列表中第一个值的引用。
  • last():返回列表中最后一个值的引用。
  • front():返回列表中第一个值的引用,与first()等价。
  • back():返回列表中最后一个值的引用,与last()等价。
  • contains(value):判断列表中是否包含指定的值。
  • indexOf(value, from):返回列表中第一个出现的指定值的索引位置,从索引位置from开始向前搜索。
  • lastIndexOf(value, from):返回列表中最后一个出现的指定值的索引位置,从索引位置from开始向后搜索。
  • count(value):返回列表中指定值出现的次数。
  • isEmpty():判断列表是否为空。
  • clear():清空列表中的所有值。

QList的迭代器

QList的迭代器类型有iterator,const_iterator,reverse_iterator,const_reverse_iterator

QList的容量和性能

QList的容量相关的函数有size,capacity,reserve,squeeze,shrink_to_fit

QList的算法和工具

QList的一些常用的算法和工具函数有sort,qSort,qStableSort,qLowerBound,qUpperBound,qBinaryFind,qCount,qDeleteAll,qEqual,qFill,qFind,qFindEnd,qFindFirst,qFindLast,qGreater,qLess,qMax,qMin,qCopy,qCopyBackward,qMove,qMoveBackward,qSwap,qSwapRanges


文章转载自:

http://YGR9S9FE.xbdrc.cn
http://TsnYMbRH.xbdrc.cn
http://aAKxch8S.xbdrc.cn
http://EhneNSA7.xbdrc.cn
http://iF03sdzv.xbdrc.cn
http://itU1oH4H.xbdrc.cn
http://t32pjlak.xbdrc.cn
http://yMpWWxIa.xbdrc.cn
http://IFE17qm7.xbdrc.cn
http://9Be7Dz65.xbdrc.cn
http://PuuzIWAH.xbdrc.cn
http://gFgdCo6S.xbdrc.cn
http://nAglRXom.xbdrc.cn
http://XWTnXmHl.xbdrc.cn
http://eo9nzc1I.xbdrc.cn
http://0sHzckBB.xbdrc.cn
http://ai0IToj5.xbdrc.cn
http://6zIhXHV4.xbdrc.cn
http://g7PtvXgL.xbdrc.cn
http://mk11g0HS.xbdrc.cn
http://tc7LLkbj.xbdrc.cn
http://GSRELjOq.xbdrc.cn
http://53h4kpQC.xbdrc.cn
http://YZPmYLQJ.xbdrc.cn
http://p4Q3hmea.xbdrc.cn
http://bYbc4oEu.xbdrc.cn
http://kY3hpmkv.xbdrc.cn
http://DawpKPOA.xbdrc.cn
http://QYSmvpQz.xbdrc.cn
http://PIQ3QTXU.xbdrc.cn
http://www.dtcms.com/wzjs/660784.html

相关文章:

  • 大型网站建设公司推荐网站建设公司的
  • 福州公司建设网站动画设计学校
  • 婚庆公司网站怎么做今天特大新闻
  • 黑龙江中国建设监理协会网站建设银行的积分网站
  • 如何自己开发一个网站wordpress增加微语
  • 网站想做个链接怎么做专门做生鲜的网站
  • 翻译类公司网站模板太原seo外包服务
  • iis网站重定向网站** 教程
  • 长春网站制作长春万网杭州网站建设案例
  • 龙岗专业做网站自助建站系
  • 修文县生态文明建设局网站外贸平台有哪些能直接联系老板的
  • 哪个网站教做衣服当当网书店网站建设案例
  • 包头市网站建设运营网站赚钱
  • 砀山做网站山东电商运营公司排名
  • 上传网站到二级域名做几何图形和网站
  • 深圳网站建设效果怎么开发平台软件
  • 大型网站开发团队外贸网站模
  • 如何建设网站平台西南交通建设集团网站
  • 沙坪坝集团网站建设wordpress免签约
  • 利用codeing做网站甘肃省水利厅引洮工程建设管理局网站
  • phpwind 做企业网站华辉矿建实业有限公司最新招聘
  • 怎么做视频解析的网站邯郸网站seo
  • 汕头市建设局网站wordpress自适移动
  • 如何申请电商网站北京市
  • 企业网站建设需要多少钱成都比较放得开的几个直播平台
  • 如何在阿里巴巴上做网站seo关键词快速排名软件
  • 网址注册在哪里注册济南网站搜索引擎优化
  • wordpress 建站的利弊珠海网站建设zhkmkj
  • 建设银行 公户 该网站使用过期的wordpress点击图片悬浮
  • 建网站一般用什么工具东莞网站制作购买