中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站建設(shè)shzanen百度競價(jià)查詢

網(wǎng)站建設(shè)shzanen,百度競價(jià)查詢,如何維護(hù)自己的網(wǎng)站,node.js可以做網(wǎng)站目錄前言一、關(guān)于list1. 簡介2. 成員類型二、默認(rèn)成員函數(shù)1. 構(gòu)造函數(shù)1. list()2. list(size_t n,const T& val T())和list(InputIterator first,InputIterator last)2. 拷貝構(gòu)造函數(shù)3. 析構(gòu)函數(shù)4. 賦值運(yùn)算符重載函數(shù)三、迭代器1. 普通對象的正向迭代器2. const對象的正向…

目錄

    • 前言
    • 一、關(guān)于list
      • 1. 簡介
      • 2. 成員類型
    • 二、默認(rèn)成員函數(shù)
      • 1. 構(gòu)造函數(shù)
        • 1. list()
        • 2. list(size_t n,const T& val = T())和list(InputIterator first,InputIterator last)
      • 2. 拷貝構(gòu)造函數(shù)
      • 3. 析構(gòu)函數(shù)
      • 4. 賦值運(yùn)算符重載函數(shù)
    • 三、迭代器
      • 1. 普通對象的正向迭代器
      • 2. const對象的正向迭代器
      • 3. 普通對象的反向迭代器
      • 4. const對象的反向迭代器
    • 四、容量接口
      • 1. empty()
      • 2. size()
    • 五、元素訪問接口
      • 1. front()
      • 2. back()
    • 六、修改接口
      • 1. push_front()
      • 2. pop_front()
      • 3. push_back()
      • 4. pop_back()
      • 5. insert()
      • 6.erase()

前言

前面我們已經(jīng)學(xué)習(xí)了string和vector的模擬實(shí)現(xiàn)和使用,相信對于容器的模擬實(shí)現(xiàn)和使用的能力已經(jīng)上升一定的水平,今天我們要學(xué)習(xí)的是list的模擬實(shí)現(xiàn),List的模擬實(shí)現(xiàn)和string和vector其實(shí)沒有本質(zhì)的區(qū)別,只是在list的模擬實(shí)現(xiàn)過程中,list的迭代器和string和vector有所不同,這是我們實(shí)現(xiàn)List的模擬實(shí)現(xiàn)中需要重點(diǎn)掌握的,今天學(xué)習(xí)的List本質(zhì)就是一個(gè)帶頭雙向循環(huán)鏈表。

一、關(guān)于list

1. 簡介

在這里插入圖片描述
list本質(zhì)就是一個(gè)帶頭雙向循環(huán)鏈表,支持在任何位置以O(shè)(1)的時(shí)間進(jìn)行插入和刪除。

2. 成員類型

在這里插入圖片描述
看到上圖,我們一定要知道迭代器的類型:list中的迭代器的類型是雙向迭代器,其他的迭代器類型好還有:單向迭代器,隨機(jī)迭代器。

  • 單向迭代器:只支持單向遍歷訪問的迭代器,只支持++,不支持–
  • 雙向迭代器:支持雙向訪問容器的迭代器,同時(shí)支持++和–
  • 隨機(jī)迭代器:支持隨機(jī)訪問容器的迭代器,同時(shí)支持++,–,+,-

二、默認(rèn)成員函數(shù)

1. 構(gòu)造函數(shù)

在這里插入圖片描述

1. list()

  • 使用代碼
void test_list1()
{// 無參構(gòu)造函數(shù)list<int> lt1;// 創(chuàng)建一個(gè)存儲int的list對象list<char> lt2;// 創(chuàng)建一個(gè)存儲char的list對象list<double> lt3;// 創(chuàng)建一個(gè)存儲double的list對象list<string> lt4;// 創(chuàng)建一個(gè)存儲string的list對象
}

2. list(size_t n,const T& val = T())和list(InputIterator first,InputIterator last)

  • 使用代碼:
void test_list2()
{// 用n個(gè)值來構(gòu)造Listlist<int> lt1(3, 6);// 用3個(gè)6來構(gòu)造一個(gè)list對象// 使用一段迭代器區(qū)間來構(gòu)造string s2("hello list::list(InputIterator first,InputIterator last)");vector<char> v2(s2.begin(), s2.end());list<char> lt2(v2.begin(), v2.end());// 遍歷// 使用迭代器進(jìn)行遍歷// 遍歷lt1cout << "lt1:" << endl;list<int>::iterator lit1 = lt1.begin();while (lit1 != lt1.end()){cout << *lit1 << " ";lit1++;}cout << endl;// 遍歷lt2cout << "lt2:" << endl;list<char>::iterator lit2 = lt2.begin();while (lit2 != lt2.end()){cout << *lit2 << " ";lit2++;}cout << endl;// 使用范圍for進(jìn)行遍歷cout << "lt1:" << endl;for (auto& e : lt1){cout << e << " ";}cout << endl;cout << "lt2:" << endl;for (auto& e : lt2){cout << e << " ";}cout << endl;}

運(yùn)行結(jié)果:
在這里插入圖片描述

2. 拷貝構(gòu)造函數(shù)

在這里插入圖片描述
拷貝構(gòu)造函數(shù)和前面的容器樣子還是差不多

void test_list3()
{string s("hello list(const list<char>& lt)");list<char> lt1(s.begin(), s.end());list<char> lt2(lt1);cout << "lt1:" << endl;for (auto& e : lt1){cout << e << " ";}cout << endl;cout << "lt2" << endl;for (auto& e : lt2){cout << e << " ";}cout << endl;
}

運(yùn)行結(jié)果:
在這里插入圖片描述

3. 析構(gòu)函數(shù)

4. 賦值運(yùn)算符重載函數(shù)

在這里插入圖片描述

  • 使用代碼:
void test_list4()
{string s("hello list<char>& operator=(const list<char>& lt)");list<char> lt(s.begin(), s.end());list<char> lt1;lt1 = lt;// 調(diào)用賦值運(yùn)算符重載函數(shù)cout << "lt:" << endl;for (auto& e : lt){cout << e << " ";}cout << endl;cout << "lt1:" << endl;for (auto& e : lt1){cout << e << " ";}cout << endl;}

運(yùn)行結(jié)果:

在這里插入圖片描述

三、迭代器

1. 普通對象的正向迭代器

  • 使用代碼:
void test_list5()
{string s("hello list<char>::iterator begin() and end()");list<char> lt(s.begin(), s.end());list<char>::iterator lit = lt.begin();while (lit != lt.end()){cout << *lit << " ";lit++;}cout << endl;
}

運(yùn)行結(jié)果:
在這里插入圖片描述

2. const對象的正向迭代器

  • 使用代碼:
void test_list6()
{string s("hello list<char>::const_iterator begin() and end()");const list<char> lt(s.begin(), s.end());list<char>::const_iterator lit = lt.begin();while (lit != lt.end()){cout << *lit << " ";lit++;}cout << endl;
}

運(yùn)行結(jié)果:
在這里插入圖片描述

3. 普通對象的反向迭代器

使用代碼:

void test_list7()
{string s("hello list<char>::reverse_iterator begin() and end()");list<char> lt(s.begin(), s.end());list<char>::reverse_iterator lit = lt.rbegin();while (lit != lt.rend()){cout << *lit << " ";lit++;}cout << endl;
}

4. const對象的反向迭代器

四、容量接口

1. empty()

2. size()

五、元素訪問接口

1. front()

2. back()

六、修改接口

1. push_front()

2. pop_front()

3. push_back()

4. pop_back()

5. insert()

6.erase()

http://www.risenshineclean.com/news/9115.html

相關(guān)文章:

  • 萬網(wǎng)域名管理平臺登錄廣州seo網(wǎng)站推廣平臺
  • 深圳外文網(wǎng)站制作交換免費(fèi)連接
  • ps做網(wǎng)站大小尺寸短視頻seo推廣隱迅推專業(yè)
  • 上海做網(wǎng)絡(luò)推廣濰坊自動(dòng)seo
  • 24小時(shí)自助下單網(wǎng)站搜索引擎付費(fèi)推廣
  • 帝國cms網(wǎng)站遷移頁面seo是什么意思
  • 小程序制作開發(fā)關(guān)鍵詞排名優(yōu)化教程
  • wordpress 搜索 分類seo站長助手
  • wordpress企業(yè)主題教程seo優(yōu)化員
  • 做 b2b平臺的網(wǎng)站公眾號推廣引流
  • dw做網(wǎng)站投票網(wǎng)址收錄入口
  • 比較好的推廣平臺seo有名氣的優(yōu)化公司
  • 運(yùn)城 網(wǎng)站制作企業(yè)郵箱賬號
  • 網(wǎng)站建設(shè)公司業(yè)務(wù)在哪里來手機(jī)怎么創(chuàng)建自己的網(wǎng)站平臺
  • b2b電子商務(wù)網(wǎng)站推廣銷售新手怎么找客源
  • 長春網(wǎng)站建設(shè)工作室seo優(yōu)化一般包括哪些
  • 網(wǎng)站頂部素材沈陽seo排名收費(fèi)
  • 做食品網(wǎng)站需要什么資質(zhì)嗎公司網(wǎng)站設(shè)計(jì)公司
  • 珠海網(wǎng)站建設(shè)zhkmkj今天最近的新聞
  • 網(wǎng)站開發(fā)ide淘寶客推廣一天80單
  • dreamwearver可以做網(wǎng)站嗎免費(fèi)大數(shù)據(jù)平臺
  • 綜合網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷是什么意思?
  • 武漢建站公司排名百度搜索高級搜索
  • 如何做網(wǎng)站收錄百度關(guān)鍵詞收錄
  • 網(wǎng)站首頁 如何設(shè)置抖音怎么運(yùn)營和引流
  • 做服裝搭配圖的網(wǎng)站有哪些搜索量查詢百度指數(shù)
  • 杭州微信網(wǎng)站制作營銷百度app下載手機(jī)版
  • 國外做飲料視頻網(wǎng)站佛山網(wǎng)站設(shè)計(jì)實(shí)力樂云seo
  • 做淘寶要用到哪些網(wǎng)站網(wǎng)站轉(zhuǎn)讓出售
  • wordpress 文章標(biāo)題調(diào)用站長工具seo詞語排名