欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt常用容器類(lèi)的使用

 更新時(shí)間:2022年06月27日 10:21:03   作者:Mr.codeee  
本文主要介紹了Qt常用容器類(lèi)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1.概述

Qt提供了多個(gè)基于模板的容器類(lèi),這些類(lèi)可以用于存儲(chǔ)指定類(lèi)型的數(shù)據(jù)項(xiàng),例如QStringList就是從QList<QString>繼承的,可以實(shí)現(xiàn)對(duì)字符串的增、刪等操作。

Qt的容器類(lèi)分為順序容器和關(guān)聯(lián)容器。

Qt的容器類(lèi)比STL更輕巧、安全和容易使用,并且還是線程安全的。

例:定義一個(gè)QList<QString> 容器

    QList<QString> str;
    str.append("A");
    str.append("B");
    str.append("C");

2.順序容器類(lèi)

Qt順序容器類(lèi)如下所示:

  • QList
  • QLinkedList
  • QVector
  • QStack
  • QQueue

2.1QList

比較常用的容器類(lèi),以數(shù)組列表的形式實(shí)現(xiàn),在前、后添加數(shù)據(jù)非???。以下為常用方法。

插入:insert()

刪除:removeAt()

替換:replace()

移動(dòng):move()

添加:append()

2.2QLinkedList

是鏈?zhǔn)搅斜?,?shù)據(jù)項(xiàng)不是連續(xù)的內(nèi)存存儲(chǔ),基于迭代器訪問(wèn)數(shù)據(jù)項(xiàng),插入和刪除數(shù)據(jù)項(xiàng)操作時(shí)間相同

2.3QVector

提供動(dòng)態(tài)數(shù)組的功能,與QList接口基本相同,數(shù)據(jù)項(xiàng)是連續(xù)存儲(chǔ)的。

2.4QStack

類(lèi)似于堆棧,后入先出的特點(diǎn),push()和pop()用于數(shù)據(jù)進(jìn)出棧。

    QStack<int> stack;
    stack.push(1);
    stack.push(2);
    stack.push(3);
 
    while(!stack.isEmpty())
        stack.pop();

2.5QQueue

類(lèi)似于隊(duì)列,先入先出的特點(diǎn),enqueue()和dequeue()用于操作數(shù)據(jù)進(jìn)出隊(duì)列。

    QQueue<int> queue;
    queue.enqueue(1);
    queue.enqueue(2);
    queue.enqueue(3);
 
    while(!queue.isEmpty())
        queue.dequeue();

3.關(guān)聯(lián)容器類(lèi)

關(guān)聯(lián)容器如下所示

  • QMap
  • QMultiMap
  • QHash
  • QMultiHash
  • QSet

3.1QSet

基于散列表的集合模板類(lèi),存儲(chǔ)數(shù)據(jù)的順序不定,查找速度非常快。

3.2QMap

QMap存儲(chǔ)數(shù)據(jù)按照鍵的順序來(lái)存儲(chǔ)的,一個(gè)鍵映射一個(gè)值。

    QMap<int,int> map;
    map[1] = 1;
    map[2] = 2;
    map[3] = 3;
 
    //或者使用insert
    QMap<int,int> map;
    map.insert(1,1);
    map.insert(2,2);
    map.insert(3,3);

查找

int num = map[1];
 
//或者
int num2 = map.value[2];

3.3QMultiMap

是QMap的子類(lèi),一個(gè)鍵可以對(duì)應(yīng)多個(gè)值。

    QMultiMap<int,int> map;
    map.insert(1,1);
    map.insert(1,2);
    //map.size() == 2 

3.4QHash

基于散列表來(lái)實(shí)現(xiàn)的,查找速度非常快。

和QMap比較

  • QHash查找速度更快
  • QMap是按鍵順序排序的,QHash數(shù)據(jù)項(xiàng)任意排序

3.5QMultiHash

QMultiHash是QHash的子類(lèi),用于處理多值映射的類(lèi),與QMultiMap類(lèi)似。

到此這篇關(guān)于Qt常用容器類(lèi)的使用的文章就介紹到這了,更多相關(guān)Qt 容器類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實(shí)現(xiàn)掃雷小游戲

    C++實(shí)現(xiàn)掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • OpenGL實(shí)現(xiàn)中點(diǎn)劃線法

    OpenGL實(shí)現(xiàn)中點(diǎn)劃線法

    這篇文章主要為大家詳細(xì)介紹了OpenGL實(shí)現(xiàn)中點(diǎn)劃線法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Swift編程中的泛型解析

    Swift編程中的泛型解析

    這篇文章主要介紹了Swift編程中的泛型解析,是Swift入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-11-11
  • 基于C中一個(gè)行壓縮圖的簡(jiǎn)單實(shí)現(xiàn)代碼

    基于C中一個(gè)行壓縮圖的簡(jiǎn)單實(shí)現(xiàn)代碼

    首先簡(jiǎn)單說(shuō)一下什么是行壓縮圖,其實(shí)嚴(yán)格意義上應(yīng)該是行壓縮矩陣
    2013-05-05
  • C++多線程傳參的實(shí)現(xiàn)方法

    C++多線程傳參的實(shí)現(xiàn)方法

    本文主要介紹了C++多線程傳參的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • C指針原理教程之C指針基礎(chǔ)

    C指針原理教程之C指針基礎(chǔ)

    指針是一個(gè)特殊的變量,它里面存儲(chǔ)的數(shù)值被解釋成為內(nèi)存里的一個(gè)地址。要搞清一個(gè)指針需要搞清指針的四方面的內(nèi)容:指針的類(lèi)型、指針?biāo)赶虻念?lèi)型、指針的值或者叫指針?biāo)赶虻膬?nèi)存區(qū)、指針本身所占據(jù)的內(nèi)存區(qū)。
    2019-02-02
  • Qt實(shí)現(xiàn)串口助手

    Qt實(shí)現(xiàn)串口助手

    這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)串口助手,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 使用C語(yǔ)言解決字符串全排列問(wèn)題

    使用C語(yǔ)言解決字符串全排列問(wèn)題

    這篇文章主要介紹了使用C語(yǔ)言解決字符串全排列問(wèn)題,文中包括了一道ACM相關(guān)的競(jìng)賽題目作為實(shí)例,需要的朋友可以參考下
    2015-08-08
  • Opencv LBPH人臉識(shí)別算法詳解

    Opencv LBPH人臉識(shí)別算法詳解

    這篇文章主要為大家詳細(xì)介紹了Opencv LBPH人臉識(shí)別算法的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • c++ 隊(duì)列相關(guān)知識(shí)總結(jié)

    c++ 隊(duì)列相關(guān)知識(shí)總結(jié)

    這篇文章主要介紹了c++ 隊(duì)列相關(guān)知識(shí)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下
    2021-03-03

最新評(píng)論