持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第29天,点击查看活动详情
解释:
QList是一种链表的模板类,在qt中QList也映出了许多新的类型,例如QListWidget,QStringList等等。他们其实都是继承自QList,他们其实都是链表,但是他们使用起来更为便捷,不用再次像使用Qlist一样去定义所对应单链表类型。并且QList提供基于索引的插入和删除等功能。
1. 初始化
QList <T> ptr_list;
这里的T可以换做为任何一个类型 例如 QList list; 在这里没有给list内部赋值,因此他的内容为默认的空。
QList list = {“111”,“222”}; 这是对list进行初始化操作,可以在定义的时候就把相对应的值直接添加进去。
2. Qlist 遍历
for (int i = 0; i < list.size(); i++)
{
//直接获取链表中当前位置的值。
QString str = list[i];
}
3. 插入:
list.append(“44444”); 这种方法是应用于把内容插入到节点尾部
list.insert(“44444”):插入节点中,但是他所插入到位置是随机的,同时也可以设置它添加到目的位置,出入参数的时候变为两个参数,第一个参数是想要插入到位置,第二个参数是他的内容。list.insert(2,“44444”) 这句的意思就代表将字符串“44444”插入到下标位置为2的位置上。
list.prepend(“44444”) :这种方式是将内容插入到头部
list.operator <<(“44444”):尾部添加节点或链表
list.operator+=(“44444”):尾部添加节点
这两个看似使用的方法一样,只是添加时代符号不一样它所代表的含义也会有所区别。第一种方法的特别之处在于他可以添加链表。
4. 删除节点
list.removeAt(3):删除指定位置的节点,参数代表下标,会删除下标位置所在的内容
list.removeFirst():删除头节点
list.removeLast():删除尾节点,链表的位置不会移动
5.移动节点 list.move(3):链表移动到指定的位置 list.swap():两个链表中的内容进行互换