Qt入门系列开发教程STL篇QList动态数组使用方法
Posted 鱼酱2333
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt入门系列开发教程STL篇QList动态数组使用方法相关的知识,希望对你有一定的参考价值。
来了,老弟,不收藏你就后悔吧 !****点赞👍收藏⭐️留言📝 不迷路~~~
😈「作者主页 」:鱼酱2333
😈「 B站首页 」:鱼酱2333
😈「本文录入专栏」:Qt入门系列开发教程
😈「本文内容」:QList动态数组的用法
文章目录
0.应用场景
- FIFO (first in, first out) 先进的先出
- FILO (first in, last out) 先进后出
1.QList
简介
QList 是 Qt 的通用容器类之一。它将其项目存储在相邻的内存位置,并提供基于索引的快速访问。
template using QVector = QList;
在Qt6里QVector就是QList,所以两者方法是一样的,所以下面只说QList即可。
增
//末尾追加
void push_back(QList::parameter_type value)
//头部追加
void push_front(QList::rvalue_ref value)
//指定索引插入
QList::iterator QList::insert(qsizetype i, QList::parameter_type value)
//填充数据
QList<T> &QList::fill(QList::parameter_type value, qsizetype size = -1)
删
//迭代器删除
template <typename T, typename AT> qsizetype erase(QList<T> &list, const AT &t)
//弹出尾部
void pop_back()
//弹出头部
void pop_front()
//清空
void clear()
//从列表中删除第一个比较等于 t 的元素。 返回一个元素是否实际上已被移除。
template <typename AT> bool removeOne(const AT &t)
//删除列表中的第一项。 调用此函数相当于调用 remove(0)。 列表不能为空。 如果列表可以为空,
//请在调用此函数之前调用 isEmpty()。
void removeFirst()
//删除索引位置 i 处的元素。
void removeAt(qsizetype i)
查
auto myobject = [&](quint32 i)
qDebug()<< i;
;
QVector<quint32> vec1,2,3,4,5,6;
std::for_each (vec.begin(), vec.end(), myobject);
//查
auto it = std::find(vec.begin(),vec.end(),4);
改
QVector<quint32> vec11,22,33,55;
vec[0]=1;
3.QList实操
3.1数据初始化
3.1.1 初始化列表初始化
void demo1_1()
struct Person
QString name;
quint32 age;
;
//11,22,33,55
QVector<quint32> vec11,22,33,55;
//11,22,33,55
QVector<quint32> vec1=11,22,33,55;
//aaa,1,bbb,2,ccc,3,ddd,4
QVector<Person> vec2=Person"aaa",1,Person"bbb",2,Person"ccc",3,Person"ddd",4;
//aaa,1,bbb,2,ccc,3,ddd,4
QVector<Person> vec3=vec2;
3.1.2 构造函数初始化
void demo1_2()
QVector<char> vec = 'a','b','c','d';
//初始化4 个 a字符
QVector<char> vec1(4,'a');//a,a,a,a
//使用迭代器初始化
QVector<char> vec2(vec.begin(),vec.end());//a,b,c,d
//使用一个vector初始化
QVector<char> vec3(vec);//a,b,c,d
3.1.3fill函数初始化
void demo1_3()
//初始化100个
QVector<char> vec;
vec.fill('S',100);//100个S
3.2数据添加
3.2.1QList末尾添加数据
void demo2_1()
QList<quint32> vec;
vec.push_back(111);//111
vec.push_back(222);//111,222
vec.push_back(333);//111,222,333
3.2.2QList头部添加数据
void demo2_2()
QList<quint32> vec;
vec.push_front(111);//111
vec.push_front(222);//222,111,
vec.push_front(333);//333,222,111
3.2.3QList插入添加数据
以上是关于Qt入门系列开发教程STL篇QList动态数组使用方法的主要内容,如果未能解决你的问题,请参考以下文章