亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > STL教程(八):C++ STL常用容器之 list

STL教程(八):C++ STL常用容器之 list

來源:千鋒教育
發布人:syq
時間: 2022-06-22 16:34:00 1655886840

  1、list容器基本概念

  鏈表是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域。 相較于vector的連續線性空間,list就顯得負責許多,它的好處是每次插入或者刪除一個元素,就是配置或者釋放一個元素的空間。因此,list對于空間的運用有絕對的精準,一點也不浪費。而且,對于任何位置的元素插入或元素的移除,list永遠是常數時間。 List和vector是兩個最常被使用的容器。 List容器是一個雙向鏈表。

1

  采用動態存儲分配,不會造成內存浪費和溢出 鏈表執行插入和刪除操作十分方便,修改指針即可,不需要移動大量元素 鏈表靈活,但是空間和時間額外耗費較大。

  2、list容器的迭代器(雙向迭代器)

  List容器不能像vector一樣以普通指針作為迭代器,因為其節點不能保證在同一塊連續的內存空間上。List迭代器必須有能力指向list的節點,并有能力進行正確的遞增、遞減、取值、成員存取操作。所謂”list正確的遞增,遞減、取值、成員取用”是指,遞增時指向下一個節點,遞減時指向上一個節點,取值時取的是節點的數據值,成員取用時取的是節點的成員。 由于list是一個雙向鏈表,迭代器必須能夠具備前移、后移的能力,所以list容器提供的是Bidirectional Iterators. List有一個重要的性質,插入操作和刪除操作都不會造成原有list迭代器的失效。這在vector是不成立的,因為vector的插入操作可能造成記憶體重新配置,導致原有的迭代器全部失效,甚至List元素的刪除,也只有被刪除的那個元素的迭代器失效,其他迭代器不受任何影響。 list容器不僅是一個雙向鏈表,而且還是一個循環的雙向鏈表。

  怎么判斷一個迭代器是隨機訪問迭代器還是雙向迭代器?

  簡單判斷:迭代器+1,如果成功,就是隨機訪問迭代器,否就是雙向迭代器。

  案例:

int main() { 

vector<int> v; 

v.begin()+1;//隨機訪問迭代器

 

list<int> l; 

//l.begin() +1;//err 雙向迭代器 不允許+1 }

  3、list容器常用的API

  3.1list構造函數

list<T> lstT;//list采用采用模板類實現,對象的默認構造形式: list(beg,end);//構造函數將[beg, end)區間中的元素拷貝給本身。 list(n,elem);//構造函數將n個elem拷貝給本身。 list(const list &lst);//拷貝構造函數。

  3.2list數據元素的插入和刪除操作

push_back(elem);//在容器尾部加入一個元素pop_back();//刪除容器中最后一個元素push_front(elem);//在容器開頭插入一個元素pop_front();//從容器開頭移除第一個元素insert(pos,elem);//在pos位置插elem元素的拷貝,返回新數據的位置。insert(pos,n,elem);//在pos位置插入n個elem數據,無返回值。insert(pos,beg,end);//在pos位置插入[beg,end)區間的數據,無返回值。clear();//移除容器的所有數據 erase(beg,end);//刪除[beg,end)區間的數據,返回下一個數據的位置。erase(pos);//刪除pos位置的數據,返回下一個數據的位置。remove(elem);//刪除容器中所有與elem值匹配的元素。

  3.3list大小操作

size();//返回容器中元素的個數 empty();//判斷容器是否為空 resize(num);//重新指定容器的長度為num, 若容器變長,則以默認值填充新位置。 如果容器變短,則末尾超出容器長度的元素被刪除。 resize(num, elem);//重新指定容器的長度為num, 若容器變長,則以elem值填充新位置。 如果容器變短,則末尾超出容器長度的元素被刪除。

  3.4list賦值操作

assign(beg, end);//將[beg, end)區間中的數據拷貝賦值給本身。 assign(n, elem);//將n個elem拷貝賦值給本身。

list& operator=(const list &lst);//重載等號操作符 swap(lst);//將lst與本身的元素互換

  3.5list的數據存取

front();//返回第一個元素。 back();//返回最后一個元素。 3.6.4.6 list反轉排序 reverse();//反轉鏈表,比如lst包含1,3,5元素,運行此方法后,lst就包含5,3,1元素。 sort(); //list排序

  3.6list反轉排序

reverse();//反轉鏈表,比如lst包含1,3,5元素,運行此方法后,lst就包含5,3,1元素。 sort(); //list排序

  使用案例:

#include<iostream>#include<list>using namespace std;

void printListInt(list<int> &l){

    list<int>::iterator it=l.begin();

    for(;it!=l.end();it++)

    {

        cout<<*it<<" ";

    }

    cout<<endl;}

void test(){

    list<int> l1(5,100);

    printListInt(l1);

 

    list<int> l2;

    l2.push_back(10);

    l2.push_back(20);

    l2.push_back(30);

    l2.push_front(40);

    l2.push_front(50);

    l2.push_front(60);

    printListInt(l2);

 

    l2.insert(++l2.begin(), 3,10);

    printListInt(l2);

    l2.erase(l2.begin());

    printListInt(l2);

    //remove根據節點內容刪除

    l2.remove(10);

    printListInt(l2);//50 40 20 30

 

    cout<<"front = "<<l2.front()<<endl;

    cout<<"back = "<<l2.back()<<endl;

 

    //鏈表反轉

    l2.reverse();

    printListInt(l2);//30 20 40 50

 

    //鏈表排序

    //STL的sort排序算法 只能用隨機訪問迭代器

    //list容器的迭代器為雙向迭代器 所以無法使用系統算法

    //sort(l2.begin(), l2.end());//err

    l2.sort();

    printListInt(l2);//20 30 40 50

}int main(void){

    test();

    system("Pause");

    return 0;

}

 

2

  更多關于“智能物聯網培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久精品国产免费观看| 国产成人午夜在线视频A站| 欧美视频在线观看一区二区三区| 高清无码国产黄色视频人爽人一区二区| 久久无码AV中文出轨人妻| 亚洲综合国产精品无码AⅤ| 人妻精品久久无码区| 国产成人久久精品流白浆| 野花新免费高清完整在线观看| 欧美极品小妇另类xXXX性| 99久久人妻无码精品系列| 日韩AV无码精品一二三区| 狠狠久久精品中文字幕无码 | 一区二区三区国产精华液区别| 麻豆国产精品VA在线观看| 被CAO的合不拢腿| 亚洲爆乳中文字幕无码专区网站| 久久理伦片琪琪电影院| 国产乱码一区二区三区| 中文字字幕人妻中文| 我和大佬的365天| 日本公与丰满熄的| 狠狠色丁香婷婷综合潮喷| 国产97在线 | 亚洲| А√ 天堂 在线官网中文| 曰韩无码AV片免费播放不卡| 熟女作爱一区二区视频| 欧洲老人毛多BBWBBWBBW| 护士猛少妇色XXⅩXXX猛叫| 国产成人国拍亚洲精品| ZOOM与人马性ZOOM的区别| 中文字幕人妻在线中字| 一本色道久久88加勒比—综合 | 亚洲人成网站18禁止大| 挽起裙子迈开腿坐上MBA| 孽火(硬汉)今又| 久久久久精品电影一区二区三区| 黑人巨根在线观看| 娇小美女被黑壮汉C到喷水| 国产精品老熟女露脸视频 | 人人爽人人爽人人爽人人片AV| 久久国产精品久久久久久| 精品少妇AY一区二区三区| 公交车舒婷1一20全文| 国产超碰人人爽人人做人人添| 公的粗大挺进了我的密道视频 | 小妖精含牢了我喂饱你| 人人爽人人操人人精品| 日产中文字幕在线精品一区| 日韩人妻高清精品专区| 少妇丰满爆乳被呻吟进入 | 男人进入女人下部图| 国产午夜鲁丝片AV无码| 丁香婷婷在线成人播放视频| 吃奶呻吟打开双腿做受是免费视频| BGMBGMBGM欧美老妇| 厨房征服丰满熟妇少妇人妻| 荡公乱妇HD电影中文字幕| 国产SUV精品一区二区6| 国产熟女老妇300部MP4| 亚洲AV无码一区二区三区网站 | 图片区小说区激情区偷拍区| 无码国产玉足脚交久久2020 | 成人4399看片HD免费| 丁香花在线视频观看免费| 国产人成高清在线视频99最全资 | 少妇性生生活视频在线观看| 少妇BBB搡BBBB搡BBBB| 亚洲国产美女精品久久久久| 中文字幕AV一区二区三区人妻少| 被夫の上司に犯中文字幕| 国产精品三级一区二区| 久久人妻内射无码一区三区| 日本特黄特色AAA大片免费| 亚洲AV永久无码精品三区在线| 中文字幕AV无码一区电影DVD| 亚洲综合色在线观看一区二区| 无遮挡国产高潮视频免费观看| 亚洲最大天堂无码精品区| 成人av在线网站| 久久久亚洲裙底偷窥综合| 少妇性SEXBBWZⅩX| 在线欧美熟妇内射高潮| 婷婷开心色四房播播| А√天堂资源在线官网BT| 国产精品无码专区| 精品麻豆一区二区三区乱码| 日韩人妻无码精品二专区 | 中文字幕乱偷无码动漫AV| HD2LINODE日本成熟IP| 国产精品AV无码毛片久久| 精品久久久久久久久久中文字幕| 女人被狂C到高潮视频网站| 亚洲AV成人一区二区三区天堂| 成片在线看一区二区草莓| 精产国品一二三产品区别视频手机| 青青国产揄拍视频| 亚洲一线产区二线产区分布图片| A阿V天堂亚洲阿∨天堂在线| 久久免费观看午夜成人网站| 上边一面亲下边一面膜的注意事项| 有人有在线看片的吗www视频| 好硬好大好爽18禁免费看男男| 天天综合网网欲色| 东北粗壮熟女丰满高潮| 全棵女性艺术写真| 99久热RE在线精品99RE| 久久久久亚洲精品中文字幕| 久久伊人色AV天堂九九| 精品无码人妻被多人侵犯aⅴ| 同性男男黄G片免费网站| 成人作爱Av一级无码| 久亚洲一线产区二线产区三线产区| 久久精品日日躁夜夜躁| 亚洲AV无码专区亚洲AV伊甸园| 国产精品揄拍100视频| 透明奶罩的邻居三级在线观看| 99精产国电影品一二三产区区别| 久久综合伊人77777| 天天躁日日躁AAAAXXXX| 337P日本欧洲亚洲大胆69影| 榴莲草莓视频黄丝瓜芭乐秋葵| 亚洲爆乳少妇无码激情| 国产精品青青青高清在线| 无码一区二区三区| 成年女人A级毛片免费观看| 久久久婷婷五月亚洲97号色| 亚洲精品乱码久久久久久V| 精品水蜜桃久久久久久久| 亚洲熟妇一区二区三区| 麻豆国产精品VA在线观看不卡| 真人作爱试看90分钟免费影视| 麻豆亚洲AV成人无码久久精品| 中文字幕日韩精品有码视频| 久久久久亚洲AV无码尤物黑人| 正在播放强揉爆乳女教师| 欧美老熟妇欲乱高清视频| 成 人 黄 色 网 站 在线播| 天堂中文最新版在线中文| 国产乱码卡二卡三卡43| 亚洲色欲一区二区三区在线观看| 老骚B老太太视频| 波多野结衣亚洲AV手机在线| 推油少妇久久99久久99久久| 很嫩很紧直喷白浆在线| 中文精品久久久久人妻| 蜜臀AV性久久久久蜜臀AⅤ| 成人污污污WWW网站免费| 午夜成人鲁丝片午夜精品| 老乞丐没完没了73节| 337P日本欧洲亚洲大胆色噜噜| 欧美18ⅩXOO极品| 国产欧美精品区一区二区三区| 永久免费AV无码网站在线观看| 日本最大胆的人文体艺术| 极品女教师波多野结衣电影衣| 亚洲精品乱码久久久久久按摩| 欧美色成人综合天天影院| 国产午夜精品一区二区三区不卡| 夜夜嗨AV熟妇人妻涩爱AV| 日日摸日日碰夜夜爽暖暖视频| 久久99精品久久久久久HB无码| GRANSREMEDY老太太| 为老公升职我主动奉献的句子说说 | 亚洲色成人网站WWW永久四虎 | 办公室的交易完整版| 亚洲精品又大又粗| 少妇乳大丰满在线播放| 久久麻豆精亚洲AV品国产APP| 丰满少妇人妻HD高清大乳在线| 夜夜高潮夜夜爽国产伦精品| 婷婷色婷婷开心五月四房播播| 老外免费CSGO交易网站下载| 国产精品毛片AV一区二区三区| 2021国内精品久久久久精品 | 大乳VIDEOS巨大吃奶| 在线А√天堂中文官网| 少妇毛又多又黑一区二区| 经典国产乱子伦精品视频| JAPANESE国产在线看| 亚洲无线一二三四区手机| 小婷又软又嫩又紧水又多的软件| 人妻少妇精品视频无码综合| 久久综合九色综合欧美| 国产CHINESE男男GAYGAY网站| 2021av在线视频| 宅男66LU国产在线观看| 亚洲人成网77777色在线播放| 无人区一码一码二码三码区别| 免费看含羞草AV片成人网站| 后进式疯狂摇乳无遮挡GIF| 国产另类TS人妖一区二区| 宝宝都湿透了还嘴硬疼怎么回事| 在线天堂中文WWW官网| 亚洲人ⅤSAⅤ国产精品| 天天躁日日躁狠狠躁人妻| 人妻穿丁字裤陪客户| 欧美午夜成人精品| 久久综合婷婷成人网站| 久久精品国产一区二区无码|