容器类_顺序容器_例QList

前言

Qt提供了一些顺序容器:QList, QLinkedList, QVector, QStack, QQueue

顺序容器:容器中的数据都是一个接一个线性存储的,所以称为顺序容器,

QLinkedList: 需要使用一个链表时

QVector: 希望数据项可以占用连续的内存空间

QStack: 后进先出(LIFO)

QQueue: 先进先出(FIFO)

对于大多数程序而言,使用最多而且最好用的是QList, 这里使用QList 熟悉,其他几个容器可以参照进行操作,因为他们的接口函数相似,也可以参考他们的帮助文档

QList是一个模板类,提供了一个列表,QList实际上是一个T类型项目的指针数组,支持基于索引的访问,而且当项目数目小于1000时,可以实现在列表中间进行快速的插入操作。

过程

选择Qt控制台应用(Qt Console Application), 不需要使用图形界面,只需要建立控制台程序

头文件

#include <QList> #include <QDebug>

写入,插入项目

QList <QString> list; list << aa<< bb <<cc; //插入项目

直接赋值

if(list[1] == bb) list[1] = ab;

替换

list.replace(2, bc); //将cc换位bc

输出整个列表,使用at()函数,他比"[ ]"操作符要快很多

qDebug() << the list is: ; //输出整个列表 for(int i = 0; i < list.size(); ++i) { qDebug() << list.at(i); //现在的列表为aa ab bc }

列表尾部添加,头部添加

list.append(dd); //在列表尾部添加 list.prepend(mm); //在列表的头部添加

拿走,删除并获取

QString str = list.takeAt(2); //从列表中删除第三个项目,并获取它 qDebug() << at(2) item is: << str;

位置插入项目

list.insert(2, mm); //在位置2插入项目

位置交换

list.swap(1,3); // 交换项目1和项目3

是否包含,布尔量

qDebug() << contains 'mm'? << list.contains(mm); //列表中是否包含mm

项目个数

qDebug()<< the 'mm' count: << list.count(mm); //包含mm的个数

遍历索引,查找项目位置

//第一个mm的位置,默认从位置0开始往前查找,返回第一个匹配的项目的位置 qDebug() << the first 'mm' index: << list.indexOf(mm); //第二个mm的位置,我们指定从位置1开始往前查找 qDebug()<< the second 'mm' index: << list.indexOf(mm, 1);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值