色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍

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

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

當前位置:首頁  >  技術干貨  > 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
色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍
一区视频在线播放| 成人a级免费电影| 久久亚洲一级片| 日韩一区和二区| 7777精品伊人久久久大香线蕉最新版 | 中文字幕乱码久久午夜不卡| 精品久久久三级丝袜| 日韩视频国产视频| 亚洲精品在线网站| 久久精品人人做人人综合 | 国产一区二区美女| 国产成人综合精品三级| 国产99久久久精品| 成人免费黄色在线| 99久久精品国产精品久久| 成人精品免费视频| 在线免费亚洲电影| 91精品欧美久久久久久动漫| 精品少妇一区二区三区视频免付费| 精品乱人伦一区二区三区| 国产欧美日本一区二区三区| 亚洲私人黄色宅男| 香蕉乱码成人久久天堂爱免费| 视频一区免费在线观看| 狂野欧美性猛交blacked| 国产精品 日产精品 欧美精品| 99re在线精品| 538prom精品视频线放| 久久免费视频一区| 亚洲精品日韩专区silk| 麻豆一区二区三区| 99精品久久99久久久久| 日韩一级片在线播放| 久久免费精品国产久精品久久久久| 中文字幕在线观看不卡视频| 日韩专区欧美专区| av不卡在线观看| 欧美一级夜夜爽| 亚洲特黄一级片| 国内精品免费在线观看| 在线观看欧美日本| 久久精品一区蜜桃臀影院| 亚洲国产视频直播| 久久se这里有精品| 精品污污网站免费看| 日本一区二区视频在线| 日韩高清欧美激情| 91影院在线观看| 欧美videos大乳护士334| 一二三区精品视频| 丰满白嫩尤物一区二区| 日韩三级视频在线看| 亚洲一级二级三级在线免费观看| 国产精品亚洲视频| 日韩免费电影网站| 亚洲成av人片在线| 97精品超碰一区二区三区| 精品久久一区二区三区| 日韩国产成人精品| 欧美日韩三级在线| 一区二区三区四区在线播放 | 国产精品国产三级国产aⅴ入口 | 奇米影视在线99精品| 91婷婷韩国欧美一区二区| 久久久国产精品麻豆| 久久99精品视频| 欧美一区二区性放荡片| 午夜精品国产更新| 欧美三级视频在线播放| 亚洲影视资源网| 色av一区二区| 亚洲一区二区美女| 欧美亚洲自拍偷拍| 夜夜爽夜夜爽精品视频| 色狠狠av一区二区三区| 一二三区精品福利视频| 欧美色网站导航| 亚洲成在线观看| 欧美日韩视频在线观看一区二区三区 | 亚洲亚洲精品在线观看| 在线日韩国产精品| 五月综合激情网| 91精品在线麻豆| 久久精工是国产品牌吗| 26uuu久久综合| 国产精品一区二区男女羞羞无遮挡| 久久综合资源网| 国产91丝袜在线播放0| 国产蜜臀av在线一区二区三区| 国产99一区视频免费| **欧美大码日韩| 欧美体内she精视频| 亚洲va欧美va人人爽| 日韩一二三区视频| 国产精品一级在线| 中文字幕永久在线不卡| 欧日韩精品视频| 日本一区中文字幕| 国产欧美一区二区三区在线看蜜臀| jizz一区二区| 亚洲午夜激情av| 欧美va亚洲va香蕉在线| 成人美女视频在线看| 一区二区三区日本| 日韩欧美高清dvd碟片| 懂色av一区二区夜夜嗨| 国产精品久久久久久久久免费丝袜| 91免费版pro下载短视频| 污片在线观看一区二区| 久久久一区二区三区捆绑**| 99久久99久久综合| 天堂蜜桃一区二区三区| 久久日韩粉嫩一区二区三区| 色综合久久久久| 青青草原综合久久大伊人精品优势| 国产午夜精品福利| 欧美在线观看一二区| 国内久久精品视频| 亚洲1区2区3区4区| 国产日产欧美一区二区视频| 欧美午夜精品久久久久久超碰 | 91性感美女视频| 久久国产精品72免费观看| 亚洲图片另类小说| 精品美女在线播放| 欧美在线观看视频一区二区| 国产乱子轮精品视频| 亚洲第四色夜色| 亚洲人成网站精品片在线观看| 精品盗摄一区二区三区| 欧美日韩亚洲综合一区 | 成人深夜福利app| 久久激情五月婷婷| 香港成人在线视频| 中文字幕在线不卡一区二区三区| 欧美一级理论片| 欧美探花视频资源| av日韩在线网站| 国产aⅴ综合色| 国产麻豆91精品| 美女性感视频久久| 亚洲成在人线在线播放| 亚洲免费av观看| 国产欧美精品在线观看| 久久免费看少妇高潮| 欧美mv和日韩mv的网站| 欧美一区二区视频免费观看| 欧美做爰猛烈大尺度电影无法无天| 大陆成人av片| 盗摄精品av一区二区三区| 国产一区三区三区| 麻豆成人91精品二区三区| 婷婷综合在线观看| 午夜日韩在线电影| 午夜国产不卡在线观看视频| 亚洲高清三级视频| 亚洲午夜精品网| 亚洲国产日韩在线一区模特| 亚洲视频小说图片| 亚洲日本成人在线观看| 亚洲美女少妇撒尿| 伊人夜夜躁av伊人久久| 亚洲综合av网| 午夜在线成人av| 蜜桃久久av一区| 免费不卡在线视频| 久久精品国产亚洲aⅴ| 久久成人免费电影| 国产乱理伦片在线观看夜一区| 国产福利视频一区二区三区| 国产精品一卡二卡| 99免费精品在线观看| 色爱区综合激月婷婷| 欧美精品v国产精品v日韩精品| 9191成人精品久久| 久久女同精品一区二区| 国产精品美女久久久久av爽李琼| 亚洲欧洲精品成人久久奇米网 | 日本色综合中文字幕| 激情国产一区二区| 国产成人av网站| 91麻豆免费看片| 在线电影院国产精品| 欧美精品一区二区三区高清aⅴ| 国产喂奶挤奶一区二区三区| 日韩一区在线看| 午夜伦理一区二区| 狠狠色综合日日| av电影在线观看不卡| 欧美电影一区二区| 国产女同互慰高潮91漫画| 一区二区三区欧美亚洲| 久久精品免费看| 91香蕉国产在线观看软件| 91精品国产高清一区二区三区蜜臀| 国产欧美一区二区精品性| 亚洲综合视频在线观看| 国产一区二区三区四区五区入口| 色老头久久综合| 国产欧美久久久精品影院|