QT容器
来源:互联网 发布:参加淘宝客有用吗 编辑:程序博客网 时间:2024/05/21 04:21
QT不仅提供了序列化的容器,比如QVector<T>, QLinkedList<T>, QList<T>, 还提供了联合型的容器,如QMap<K, T>, QHash<K, T>.
同时,QT也提供了能用在任意容器上的通用算法,如qSort()算法能把序列化的容器排序。
而且,QT上也能使用STL。
1、QVector<T>
类似于数组,但能被动态分配大小。注意,在vector中插入元素代价可能比较大。
初始化:
QVector<double> vect(3);
添加元素:
vect[0] = 1.0;
vect.append(2.0);
vect << 1.0 << 0.5 << -0.4
遍历:
double sum = 0.0;
for(int i=0; i<vect.count(); ++i)
sum += vect[i];
2、QLinkedList<T>
类似于双向链表,插入代价小,但不支持随机存取,即不支持[]。
初始化:
QLinkedList<QString> list;
添加元素:
list.append("Clash");
在指定位置之前插入元素,
QLinkedList<QString>::iterator i = list.find("Ramones");
list.insert(i, "Tote Hosen");
3、QList<T>
集合了QVector的随机存取和QListedList的插入元素速度快的优点
QStringList是QList<T>的子类
4、QStck<T>
栈,支持push(), pop(), top()
5、QQueue<T>
队列,支持enqueue(), dequeue(), head()
6、每一种容器都有一种对应的迭代器,如QList:
QList<double> list;
...
QListIterator<double> i(list);
while(i.hasNext()) {
do_somethid(i.next());
}
7、QMap
QMap<QString, int> map;
map.insert("eins", 1);
map.insert("sieben", 7);
map.insert("dreiundzwanzig", 23);
map["eins"] = 8;
map["sieben"] = 7;
int val = map.value("dreiundzwanzig", 30); 如要不存在,则默认值为30
- QT容器
- qt 容器
- Qt:容器
- QT 容器
- Qt容器
- QT容器
- QT序列式容器
- Qt 容器类
- QT的容器
- QT容器类
- Qt 容器类
- Qt容器类
- Qt容器类
- Qt 容器类
- Qt容器类
- qt 的容器
- Qt中的容器类
- QT 容器相关
- windows下搭建Apache2.2.15和php-5.2.13的配置方法
- ASP.NET从服务端向客户端弹出alert("")对话框,但不使页面变成白板...
- 工具猫手把手教你如何安装虚拟机Virtual PC!
- Java中Underlying input stream returned zero bytes
- SQLite on BlackBerry 完美支持中文
- QT容器
- 蓝牙技术规范
- MyEclipse部署文件被lock的问题
- web开发平台之研究
- 又是伤心痛苦时
- linux_shell笔记(九)
- POJ_3740_DFS
- 检测手机是否支持蓝牙功能
- 微软虚拟机——Virtual PC 2007简要使用方法