最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++?list容器merge算法的使用以及注意事項(xiàng)

 更新時(shí)間:2024年04月24日 08:40:41   作者:Never?mind  
這篇文章主要介紹了C++?list容器merge算法的使用以及注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

list容器merge算法的使用注意事項(xiàng)

C++的list容器merge算法有多種形式,這里僅討論一下兩種:

可以看到

(1) void merge(list &x)

該算法將一個(gè)有序list容器加入另一個(gè)有序list容器中,且兩個(gè)list容器必須為逆序或順序,這是很容易不注意導(dǎo)致報(bào)錯(cuò)的主要原因。

list lst1{ 111,222,333,444 };//順序
list lst2{ 2411,4,3,2,1 };//逆序
lst1.merge(lst2);
for (auto beg = lst1.begin(); beg != lst1.end(); ++beg)
cout << *beg << " ";
cout << endl;

該代碼由于list順序不一致執(zhí)行將導(dǎo)致程序出錯(cuò)

將lst2改為順序后可正常輸出。

(2) void merge(lst2,comp)

該算法可以自定義比較類型,需要一個(gè)能返回bool型的predict。 

bool mycomparison (double first, double second)
{ return ( int(first)<int(second) ); }

int main ()
{
std::list first, second;

first.push_back (3.1);
first.push_back (2.2);
first.push_back (2.9);

second.push_back (3.7);
second.push_back (7.1);
second.push_back (1.4);

first.sort();
second.sort();

first.merge(second);

//使用merge后插入的list都為空

second.push_back (2.1);

first.merge(second,mycomparison);

std::cout << “first contains:”;
for (std::list::iterator it=first.begin(); it!=first.end(); ++it)
std::cout << ' ' << *it;
std::cout << ‘\n';

return 0;
}

需要注意的是:

  • merge默認(rèn)是使用<運(yùn)算符
  • 如果通過(guò)pred修改為使用>運(yùn)算符時(shí)
  • 相應(yīng)的兩個(gè)list容器中的元素也應(yīng)該是按照從大到小的順序排列
  • 否則會(huì)觸發(fā)錯(cuò)誤

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • C++中檢查vector是否包含給定元素的幾種方式詳解

    C++中檢查vector是否包含給定元素的幾種方式詳解

    這篇文章主要介紹了C++中檢查vector是否包含給定元素的幾種方式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • C語(yǔ)言中的字符(char)詳細(xì)講解

    C語(yǔ)言中的字符(char)詳細(xì)講解

    本篇文章主要介紹C語(yǔ)言中char的知識(shí),并附有代碼實(shí)例,以便大家在學(xué)習(xí)的時(shí)候更好的理解,有需要的可以看一下
    2016-07-07
  • return和break的區(qū)別解析

    return和break的區(qū)別解析

    這篇文章主要介紹了return和break的區(qū)別解析,需要的朋友可以參考下
    2014-02-02
  • C++中標(biāo)準(zhǔn)線程庫(kù)的基本使用介紹

    C++中標(biāo)準(zhǔn)線程庫(kù)的基本使用介紹

    大家好,本篇文章主要講的是C++中標(biāo)準(zhǔn)線程庫(kù)的基本使用介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • C++利用map實(shí)現(xiàn)并查集

    C++利用map實(shí)現(xiàn)并查集

    這篇文章主要為大家詳細(xì)介紹了C++利用map實(shí)現(xiàn)并查集,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Qt中圖片旋轉(zhuǎn)縮放操作的實(shí)現(xiàn)

    Qt中圖片旋轉(zhuǎn)縮放操作的實(shí)現(xiàn)

    本文主要介紹了Qt中圖片旋轉(zhuǎn)縮放操作的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • C++ 項(xiàng)目引入lib和dll的區(qū)別與使用實(shí)戰(zhàn)

    C++ 項(xiàng)目引入lib和dll的區(qū)別與使用實(shí)戰(zhàn)

    靜態(tài)鏈接庫(kù)與動(dòng)態(tài)鏈接庫(kù)都是共享代碼的方式,本文主要介紹了C++項(xiàng)目引入lib和dll的區(qū)別與使用實(shí)戰(zhàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • C++詳細(xì)講解常用math函數(shù)的用法

    C++詳細(xì)講解常用math函數(shù)的用法

    C++提供了很多實(shí)用的數(shù)學(xué)函數(shù),如果要使用先添加頭文件,當(dāng)然,加頭文件誰(shuí)都知道,接下來(lái)我們一起詳細(xì)看看各個(gè)math函數(shù)的實(shí)際使用
    2022-04-04
  • C語(yǔ)言深入了解函數(shù)

    C語(yǔ)言深入了解函數(shù)

    C語(yǔ)言函數(shù)是用來(lái)模塊化構(gòu)建程序的。如果你的功能少,你可以全都寫在mian函數(shù)中,但是當(dāng)實(shí)現(xiàn)功能多的時(shí)候,如果全寫在main的函數(shù)里,不僅代碼不美觀,而且函數(shù)實(shí)現(xiàn)的時(shí)候結(jié)構(gòu)復(fù)雜,代碼重復(fù)
    2022-05-05
  • c++實(shí)現(xiàn)圖像像素計(jì)算的示例詳解

    c++實(shí)現(xiàn)圖像像素計(jì)算的示例詳解

    我們知道每張圖像都能夠用矩陣來(lái)表示,矩陣中每個(gè)元素的值表示了圖像中每個(gè)像素值,像素值的大小就對(duì)應(yīng)著圖像的亮暗,本文主要來(lái)和大家介紹一下C++進(jìn)行圖像像素計(jì)算的相關(guān)知識(shí),感興趣的可以了解下
    2023-12-12

最新評(píng)論

泰州市| 巴中市| 泽州县| 剑河县| 桦川县| 库伦旗| 鸡西市| 石阡县| 东辽县| 五莲县| 临漳县| 且末县| 万宁市| 缙云县| 曲沃县| 社旗县| 抚松县| 股票| 建始县| 炎陵县| 周口市| 乳山市| 灯塔市| 清新县| 灌阳县| 繁昌县| 额尔古纳市| 长宁区| 古交市| 蕲春县| 齐河县| 全南县| 汤阴县| 潮安县| 井研县| 泌阳县| 松溪县| 芦山县| 罗甸县| 仁寿县| 浦城县|