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

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

句容建設(shè)路幼兒園網(wǎng)站鄭州高端網(wǎng)站建設(shè)哪家好

句容建設(shè)路幼兒園網(wǎng)站,鄭州高端網(wǎng)站建設(shè)哪家好,石家莊網(wǎng)站建設(shè)推廣電話,視頻號(hào)怎么運(yùn)營(yíng)文章目錄 STL基本概念使用STL的好處容器vector1.vector容器簡(jiǎn)介2.vector對(duì)象的默認(rèn)構(gòu)造函數(shù)3.vector對(duì)象的帶參構(gòu)造函數(shù)4.vector的賦值5.vector的大小6.vector容器的訪問(wèn)方式7.vector的插入 STL基本概念 STL(Standard Template Library,標(biāo)準(zhǔn)模板庫(kù))STL 從廣義上分為: 容器(con…

文章目錄

  • STL基本概念
  • 使用STL的好處
  • 容器
  • vector
    • 1.vector容器簡(jiǎn)介
    • 2.vector對(duì)象的默認(rèn)構(gòu)造函數(shù)
    • 3.vector對(duì)象的帶參構(gòu)造函數(shù)
    • 4.vector的賦值
    • 5.vector的大小
    • 6.vector容器的訪問(wèn)方式
    • 7.vector的插入

STL基本概念

  • STL(Standard Template Library,標(biāo)準(zhǔn)模板庫(kù))
  • STL 從廣義上分為: 容器(container) 算法(algorithm) 迭代器(iterator)
  • 迭代器:算法通過(guò)迭代器訪問(wèn)容器里面的數(shù)據(jù)
  • 容器和算法之間通過(guò)迭代器進(jìn)行無(wú)縫連接。
  • STL 幾乎所有的代碼都采用了模板類或者模板函數(shù),這相比于傳統(tǒng)的由函數(shù)和類組成的庫(kù)來(lái)說(shuō)提供了更好的代碼重用機(jī)會(huì)

使用STL的好處

  • STL是C++的一部分,因此不需要額外安裝什么,被內(nèi)建在你的編譯器里面
  • STL的一個(gè)重要特點(diǎn)是將數(shù)據(jù)結(jié)構(gòu)和算法分離
  • 程序員不用思考STL的實(shí)現(xiàn)過(guò)程
  • STL具有高可用性,高性能,高移植,跨平臺(tái)優(yōu)點(diǎn)

容器

序列式容器:

  • 序列式容器每個(gè)元素都有固定位置–取決于插入的時(shí)機(jī)和地點(diǎn),和元素值無(wú)關(guān)。
  • vector,deque、list、stack、queue

關(guān)聯(lián)式容器:

  • 元素位置取決于特定的排序準(zhǔn)則,和插入順序無(wú)關(guān)
  • set、multiset、map、multimap

在這里插入圖片描述
在這里插入圖片描述

vector

1.vector容器簡(jiǎn)介

  • 尾部插入速度比較快
  • vector是將元素置于一個(gè)動(dòng)態(tài)數(shù)組中加以管理的容器
  • vector可以隨機(jī)存取元素(支持索引值直接存取)
  • vector尾部添加或移除元素的速度非??焖?#xff0c;但是在頭部插入或移除元素比較費(fèi)時(shí)

2.vector對(duì)象的默認(rèn)構(gòu)造函數(shù)

vector<class T>vecT;
vector<int>vecInt;
vector<float>vecFloat;
vector<string>vecString;class A{};
vector<A>vecA; //用于存放CA對(duì)象的vector容器,
//由于容器元素的存放是按值復(fù)制的方式進(jìn)行,所以此時(shí)CA必須提供CA的拷貝構(gòu)造函數(shù),以保證CA對(duì)象間拷貝正常vector<A*>vecpA;   //用于存放CA對(duì)象指針的vector容器

3.vector對(duì)象的帶參構(gòu)造函數(shù)

理論知識(shí):

  • vector(beg,end); //構(gòu)造函數(shù)將[beg,end)區(qū)間中的元素拷貝給本身,注意該區(qū)間左閉右開
  • vector(n,elem);//構(gòu)造函數(shù)將n個(gè)elem拷貝給本身
  • vector(const vector& vec); //拷貝構(gòu)造函數(shù)
int main()
{int arr[] = { 1,2,3,4,5 }; //用兩個(gè)指針構(gòu)造vector<int>v1(arr, arr + 5);vector<int>v2(3, 10);//存儲(chǔ)3個(gè)10for (int i = 0; i < v2.size(); i++){cout << v2[i] << " ";}cout << endl;vector<int>v3(v1);//用一個(gè)已經(jīng)構(gòu)造好的對(duì)象初始化新的對(duì)象for (int i = 0; i < v1.size(); i++){cout << v3[i] << " ";}
}

在這里插入圖片描述

4.vector的賦值

  • vector.assign(beg,end);//將[beg,end)區(qū)間中的元素拷貝賦值給本身,注意該區(qū)間左閉右開
  • vector.assign(n,elem);//將n個(gè)elem拷貝賦值給本身
  • vector& operator=(const vector& vec);//重載等號(hào)操作符
  • vector.swap(vec); //將vec與本身的元素互換
int main()
{vector<int>vecIntA(3, 10);vector<int> vecIntB, vecIntC, vecIntD;int iarray[] = { 0,1,2,3,4 };//將數(shù)組iarray中的所有元素賦值給vactorIntA容器vecIntA.assign(iarray, iarray + 5);cout << "A:";for (int i = 0; i < vecIntA.size(); i++){cout <<vecIntA[i] << " ";}cout << endl;//將vecIntA中所有元素賦值給vecIntBvecIntB.assign(vecIntA.begin(), vecIntA.end());cout << "B1:";for (int i = 0; i < vecIntB.size(); i++){cout <<vecIntB[i] << " ";}cout << endl;cout << "B2:";vecIntB.assign(vecIntA.begin()+2, vecIntA.end()-1);for (int i = 0; i < vecIntB.size(); i++){cout << vecIntB[i] << " ";}cout << endl;//將4個(gè)10拷貝到vecIntCvecIntC.assign(4, 10);cout << "C:";for (int i = 0; i < vecIntC.size(); i++){cout<< vecIntC[i] << " ";}cout << endl;//互換元素vecIntB.swap(vecIntC);cout << "B2:";for (int i = 0; i < vecIntB.size(); i++){cout <<vecIntB[i] << " ";}cout << endl;cout << "C:";for (int i = 0; i < vecIntC.size(); i++){cout << vecIntC[i] << " ";}cout << endl;//重載賦值運(yùn)算符vecIntD = vecIntC;cout << "D:";for (int i = 0; i < vecIntD.size(); i++){cout << vecIntD[i] << " ";}return 0;
}

在這里插入圖片描述

5.vector的大小

  • vector.size(); //返回容器中元素的個(gè)數(shù)
  • vector.empty(); //判斷容器是否為空
  • vector.resize(); //重新指定容器的長(zhǎng)度為num,若容器變長(zhǎng),則以默認(rèn)值填充新位置。如果容器變短,則末尾超出容器長(zhǎng)度的元素被刪除
  • vector.resize(num,elem);//重新指定容器的長(zhǎng)度為num,若容器變長(zhǎng),則以elem填充新位置。如果容器變短,則末尾超出容器長(zhǎng)度的元素被刪除
int main()
{vector<int>v1;cout << "v1.size: " <<v1.size()<< endl;if (v1.empty()) //判斷容器是否為空{cout << "v1 is empty" << endl;}int array[] = { 1,2,3,4,5 };v1.assign(array, array + 5);//將容器的長(zhǎng)度變長(zhǎng)v1.resize(10);for (int i = 0; i < v1.size(); i++){cout << v1[i] << " ";}cout << endl;//將容器長(zhǎng)度變短v1.resize(3);for (int i = 0; i < v1.size(); i++){cout << v1[i] << " ";}cout << endl;//將容器長(zhǎng)度變長(zhǎng),并且擴(kuò)展出來(lái)的新的元素為指定的值v1.resize(10, 100);for (int i = 0; i < v1.size(); i++){cout << v1[i] << " ";}cout << endl;return 0;
}

在這里插入圖片描述

6.vector容器的訪問(wèn)方式

  • vec.at[idx]; //返回索引idx所指數(shù)據(jù),如果idx越界,拋出out_of_range異常
  • vec[idx]; //返回索引idx所指的數(shù)據(jù),越界時(shí),運(yùn)行直接報(bào)錯(cuò)
    在這里插入圖片描述

7.vector的插入

  • 在vector末尾進(jìn)行插入:push_back、在末尾刪除元素:pop_back
  • vector.insert(pos,elem); //在pos位置插入一個(gè)elem元素的拷貝,返回新數(shù)據(jù)的位置
  • vector.insert(pos,n,elem);//在pos位置插入n個(gè)elem數(shù)據(jù),無(wú)返回值
  • vector.insert(pos,beg,end); //在pos位置插入[beg,end)區(qū)間的數(shù)據(jù),無(wú)返回值
int main()
{int arr[] = { 1,2,3,4,5 };vector<int>v1(arr, arr + 5);//在末尾插入函數(shù)v1.push_back(10);//在末尾刪除函數(shù)v1.pop_back();//在指定位置插入一個(gè)指定元素v1.insert(v1.begin()+3,100); //注意第一個(gè)參數(shù)不能為下標(biāo),應(yīng)該為指針for (int i = 0; i < v1.size(); i++){cout << v1[i] << " ";}cout << endl;//在指定的位置插入多個(gè)元素v1.insert(v1.begin() + 3, 3, 1000);//在下標(biāo)為3的位置上插入3個(gè)1000for (int i = 0; i < v1.size(); i++){cout << v1[i] << " ";}cout << endl;//將指定的區(qū)間中的元素插入到指定的位置上,將50—80插入int b[] = { 40,50,60,70,80,90 };v1.insert(v1.begin() + 7, b + 1, b + 5);for (int i = 0; i < v1.size(); i++){cout << v1[i] << " ";}cout << endl;
}
http://www.risenshineclean.com/news/7836.html

相關(guān)文章:

  • 外貿(mào)網(wǎng)站建設(shè)軟件百度一下你就知道主頁(yè)
  • 上海殷行建設(shè)網(wǎng)站百度上海分公司
  • 自學(xué)網(wǎng)站建設(shè)需要什么學(xué)歷關(guān)鍵詞排名點(diǎn)擊軟件首頁(yè)
  • seo網(wǎng)站建設(shè)公司哪家好網(wǎng)店培訓(xùn)班
  • 網(wǎng)站的用戶登錄一般怎么做的成功的軟文營(yíng)銷案例
  • 網(wǎng)站如何做電腦和手機(jī)appseo創(chuàng)業(yè)
  • 網(wǎng)頁(yè)設(shè)計(jì)與網(wǎng)站建設(shè)大作業(yè)友情鏈接搜讀
  • 網(wǎng)上購(gòu)物app進(jìn)一步優(yōu)化落實(shí)
  • 做網(wǎng)站開發(fā)需要什么證書重慶百度推廣關(guān)鍵詞優(yōu)化
  • 想做個(gè)ktv的網(wǎng)站怎么做網(wǎng)絡(luò)廣告策劃方案范文
  • 武漢市建設(shè)廳網(wǎng)站國(guó)內(nèi)最新新聞?wù)?/a>
  • 微博推廣軟件網(wǎng)站的seo是什么意思
  • 電子請(qǐng)柬網(wǎng)站開發(fā)app推廣實(shí)名認(rèn)證接單平臺(tái)
  • 政府網(wǎng)站頁(yè)面設(shè)計(jì)標(biāo)準(zhǔn)win10優(yōu)化大師怎么樣
  • 上海哪家網(wǎng)站建得好百度seo最成功的優(yōu)化
  • 福州外文網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣平臺(tái)幾大類
  • 企業(yè)網(wǎng)站制作公司24小時(shí)接單seo sem
  • wordpress郵件模板seo實(shí)戰(zhàn)視頻
  • 服務(wù)器windos做網(wǎng)站整合營(yíng)銷傳播方案
  • 家居網(wǎng)站建設(shè)全網(wǎng)營(yíng)銷微信營(yíng)銷軟件免費(fèi)版
  • wordpress的cms插件山東進(jìn)一步優(yōu)化
  • 校園網(wǎng)上超市網(wǎng)站建設(shè)推廣b站在線觀看人數(shù)在哪
  • 免費(fèi)個(gè)人網(wǎng)站空間申請(qǐng)2023年10月疫情還會(huì)嚴(yán)重嗎
  • 網(wǎng)站建設(shè)7個(gè)基本流程寧波seo外包服務(wù)商
  • 如果在瀏覽器上做一網(wǎng)站廣告大約需要多少錢門戶網(wǎng)站排行榜
  • 什么樣的網(wǎng)站空間做電影網(wǎng)站不卡seo深圳網(wǎng)絡(luò)推廣
  • wordpress分享到qq空間班級(jí)優(yōu)化大師官方免費(fèi)下載
  • 全屏網(wǎng)站怎么做網(wǎng)絡(luò)推廣運(yùn)營(yíng)推廣
  • 專業(yè)網(wǎng)站建設(shè)86215信息流優(yōu)化師是做什么的
  • 專業(yè)提供網(wǎng)站建設(shè)服務(wù)舉一個(gè)網(wǎng)絡(luò)營(yíng)銷的例子