日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt主要的容器类

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt主要的容器类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、描述

容器和迭代器類提供修改、刪除、插入、保存數據和遍歷等功能,Qt包含的容器類比STL更加簡單和安全。

2、常用的容器

  • QList<T>:使用數據間的索引可以訪問數據,儲存特定類型。
  • QLinkedList<T>:使用迭代器訪問數據,而非基于整數的索引,對于已有的大量數據中插入數據比QList快,鏈表。
  • QVector<T>:相臨近內存的位置存儲特定類型的數據數組。
  • QStack<T>:堆棧結構先進后出的QVector子類容器,主要接口push()、pop()、top()。
  • QQueue<T>:隊列結構先進先出的QList子類容器,主要接口enqueue() dequeue() head()。
  • QSet<T>:快速查找單一值的數據模式,保存數據無順序,可以快速查找。
  • QMap<Key,T>:與數據對應的單一映射方式的關鍵字,字典功能容器,二叉樹搜索字典。
  • QMultiMap<Key,T>:QMap子類,提供電儀關鍵字模式形態,基于多映射。
  • QHash<Key,T>:和QMap類似,但是查詢速度比QMap更快,可以隨機存儲數據,散列表字典。
  • QMultiHash<Key,T>:提供多個關鍵字模型。

3、示例

3.1 QList

QList<QString> liststr; //添加 liststr<<"one"<<"two"<<“three”; liststr.append("four"); //查找 if(liststr[1] == "two"){qDebug()<<liststr[1]; } if(liststr.at(1) == "two"){qDebug()<<liststr.at(1); }

3.2 QHash<Key,T>

QHash<QString, int> hash; hash["one"] = 1; hash["two"] = 2; hash.insert("four",4); int nmb = hash.value("four");

3.3 QMultiHash<Key,T>

QMultiHash<QString, int> mhash; mhash.insert("cost",100); mhash.insert("cost",200); mhash.insert("cost",300);QList<int> val = mhash.value("cost"); for(int i = 0; i < mhash.size(); i++){qDebug()<<val.at(i); }

3.4 QStack<T>

QStack<int> stack; stack.push(100); stack.push(200); stack.push(300);while(!stack.isEmpty()){qDebug()<<stack.pop(); }

3.5 QQueue<T>

QQueue<int> queue; queue.enqueue(100); queue.enqueue(200); queue.enqueue(300);while(!queue.isEmpty()){qDebug()<<queue.dequeue(); }

?

總結

以上是生活随笔為你收集整理的Qt主要的容器类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。