1、QList
1.1 简述
QList其实不是链表,而是优化过的vector,官方的形容是“array list”。
它的存储方式是分配连续的node,每个node的数据成员不大于一个指针大小,所以对于int、char等基础类型,它是直接存储,对于Class、Struct等类型,它是存储对象指针。
1.2 常用接口
- insert():插入操作
- replace():替换操作
- removeAt():移除操作
- move():移动操作
- swap():交换操作
- append():在表尾添加项目
- prepend():在表头添加项目
- removeFirst():移除第一个项目
- removeLast():移除最后一个项目
- takeAt():移除指定项并获取这个项目
- takeFirst():移除第一个项并获取这个项目
- takeLast():移除最后一个项并获取这个项目
- indexOf():获取一个项目的索引
- contains():判断是否含有相应的项目
- count():获取一个项目出现的次数
- “<<”:操作符来向列表中插入项目
- “[ ]”:操作符通过索引来访问一个项目
- at():它比“[ ]”操作符要快很多。
1.3 代码示例
1)插入操作