Qt中的容器类 QList QLinkedList QVector
来源:互联网 发布:香港回归20年 知乎 编辑:程序博客网 时间:2024/05/21 17:23
QList<T>是最常用的容器类,他存储给定类型的数据类型T的一列直,,可以在列表中追加QList::append();andQList::preppend();and QList::insert()..
他所维护的是一个一指针数组,该数组存储的指针指向存储列表项的直,因此可以采用下标进行快速访问。
QList<QString> list;
string str="i am turing ,welcome to Qt.";
list<<str;
qDebug()<<list(0);
其中的QStringList 就是从这边继承下来的
QLinkedList<T>是一个链式列表,它以非连续的内存快保存数据,所以他是不能使用下标进行访问的,,也就是说他更适合插入的操作,时间是在O(1).
QVector<T>这个方式是在相邻的内存位置上保存数据的,也就是以数组的方式进行存储的,所以对起进行插入的操作的时候是一项很耗时间的,因为要有大量的数据进行一动。。当然也是可以通过下标对其进行访问的。
Qt的容器类为遍历其中的操作提供了两种方法:
1.java风格的迭代器,
2。STL风格的。
下面介绍STL风格
QList<T>
QList<T>::const_iterator QList<T>::iterator///中间那个是只读的,最后是可读写的
QLinkedList<T>QLinkedList<T>::const_iteratorQLinkedList<T>::iterator
下面那个同理
这个风格的迭代器是建立在指针的基础上的,++指向下一个,*返回指向的项。
下面再以QList来简单介绍他们的迭代器具体的API接口
QList<T>::begin()///返回指向第一个列表项的迭代器,这个是有效的
QList<T>::end()//返回的是容器最后列表项之后的下一个,也就是标记的是无效的那个,
#include <QDebug>
int main(int argc, char *argv[])
{
QList<int>list;
for(int j=0;j<10; j++)
list.insert(list.end(),j);//表示在列表的最后插入直j
QList<int>::iteratori;
for(i=list.begin(); i!=list.end(); ++i)
{
qDebug() <<(*i);
*i = (*i) * 10;
}
QList<int>::const_iteratorci;
for(ci=list.constBegin(); ci!=list.constEnd();++ci)
qDebug() <<*ci;
return0;
}
QLinkedList<T>QLinkedList<T>::const_iteratorQLinkedList<T>::iterator
下面那个同理
这个风格的迭代器是建立在指针的基础上的,++指向下一个,*返回指向的项。
下面再以QList来简单介绍他们的迭代器具体的API接口
QList<T>::begin()///返回指向第一个列表项的迭代器,这个是有效的
QList<T>::end()//返回的是容器最后列表项之后的下一个,也就是标记的是无效的那个,
#include <QDebug>
int main(int argc, char *argv[])
{
QList<int>list;
for(int j=0;j<10; j++)
list.insert(list.end(),j);//表示在列表的最后插入直j
QList<int>::iteratori;
for(i=list.begin(); i!=list.end(); ++i)
{
qDebug() <<(*i);
*i = (*i) * 10;
}
QList<int>::const_iteratorci;
for(ci=list.constBegin(); ci!=list.constEnd();++ci)
qDebug() <<*ci;
return0;
}
原帖http://blog.sina.com.cn/s/articlelist_1715116521_0_1.html
- Qt中的容器类 QList QLinkedList QVector
- Qt中的容器类 QList QLinkedList QVector..遍历及相关
- QT容器类(一) 之 QVector 、QLinkedList 和 QList
- QT容器类(一) 之 QVector 、QLinkedList 和 QList
- [Qt] 循序容器(QVector、QLinkedList、QList...)
- QList、QLinkedList、QVector类
- 循环容器(QVector,QLinkedList,QList)
- QList类、QLinkedList类和QVector类
- QVector、QList、QLinkedList 类 用法区别
- QVector QList QLinkedList
- Qt4 Gossip: 循序容器(QVector、QLinkedList、QList...) - 转
- Qt4 Gossip: 循序容器(QVector、QLinkedList、QList...) - 转
- QList、QVector、QMap容器类
- Qt中丰富的容器类---数组QVector、链表QLinkedList、映射表QMap、哈希表QHash
- Qt之丰富的容器类---数组QVector、链表QLinkedList、映射表QMap、哈希表QHash
- 1.QT中的容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等
- Qt修炼手册8_常用的容器类QVector和QList
- Qt容器之QVector,QMap,QHash,QList等注意事项
- find
- 打工者
- 暂无
- [TM_20110225][NM_听写][TY_英语]
- Android系统开发环境搭建(基于CentOS) -- 1
- Qt中的容器类 QList QLinkedList QVector
- 点击重置时清空fck内容
- MFC下测量程序执行时间
- 双网卡,上网走外网网卡,内网走内网网卡设置
- ubuntu中让virtualbox使用usb设备
- 破解XCode 3.2.5 免证书运行程序到 真机ipod(已破解)
- 完全退出程序
- 指定的命名连接在配置中找不到、非计划用于 EntityClient 提供程序或者无效
- jbpm4.4数据安装配置