欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++vector的用法你都知道嘛

 更新時(shí)間:2022年02月18日 11:51:49   作者:菜雞圣龍進(jìn)化菜松鼠  
這篇文章主要為大家詳細(xì)介紹了C++中vector的用法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

C++vector 用法整理

1.頭文件

#include<iostream>//容器
#include<vector> //算法
#include<iterator>//迭代器

一個(gè)代碼示例

#include<iostream>//容器
#include<vector> //算法
#include<iterator>//迭代器
using namespace std;
int main(int argc, const char* argv[])
{
    const int SIZE = 6;
    int array[SIZE] = {1,2,3,4,5,6};
    vector<int> v(array,array+SIZE);
    cout<<"First element:"<<v.front()<<"\n Last element"<<v.back()<<endl;
   
}

2.vector初始化

定義十個(gè)整形元素的向量(其中初值不確定)

vector<int> a(10);

每個(gè)元素初值為1;

vector<int> a(10,1);

類似于深拷貝的整體賦值方式

vector<char> a(b);

vector<char> a(b.begin(),b.begin+3);//(a的值為0~2個(gè)元素)

用數(shù)組賦初值(和上面一個(gè)有點(diǎn)相似)

vector<int> a(b, b+7);

3.vector對(duì)象的重要操作

1.賦值(assign)

a.assign(b.begin(),b.begin()+3); //注意!此處,將b 0~2個(gè)元素構(gòu)成的向量賦值給a!與上面不同!

a.assign(4,2);//  與vector<int> a(10,1);結(jié)果相同

2.返回元素值

//返回最后一個(gè)元素
a.back();
//返回第一個(gè)元素
a.front();
//數(shù)組返回式
 a[i];

3.清空、判斷是否為空

a.clear();

a.empty();

4.刪除

//刪除最后一個(gè)元素
a.pop_back();
//刪除一塊元素
a.erase(a.begin(),a.begin()+3);

5.插入

//在最后一個(gè)向量后插入一個(gè)元素
a.push_back(5);
// 插入一段元素(從第一個(gè)元素算起,插入3個(gè)數(shù),值都為5)
a.insert(a.begin(), 3, 5);
//用數(shù)組插入一段元素(在a的第一個(gè)元素的位置插入b的第3個(gè)元素到第5個(gè)元素)
a.insert(a.begin(), b+1,b+6);


//從現(xiàn)有向量中選擇元素向向量中添加
int a[6] = {1, 2, 3, 4, 5, 6};
vector<int> b;
wector<int> c(a, a+4);
for(vector<int>::iterator it = c.begin(); it<c.end():it++)
{
    b.push_back(*it);
}


//從文件讀取元素向向量中添加
ifstream in("data.txt");
vector<int> a;
for(int i;in>>i)
{
    a.push_back(i);
}

6.返回vector的現(xiàn)存元素個(gè)數(shù)、共可容納個(gè)數(shù)

a.size();

a.c apacity();

7.調(diào)整元素個(gè)數(shù)(這個(gè)好牛)

//將元素個(gè)數(shù)調(diào)整至10,多刪少補(bǔ),補(bǔ)的值隨機(jī)
a.resize(10);
//將元素個(gè)數(shù)調(diào)整至10,多刪少補(bǔ),補(bǔ)的值為2
a.resize(10,2);
//大容量擴(kuò)充(不補(bǔ)充值)
a.reserve(100);

8.整體性交換

a.swap(b);

9.向量的比較操作

a==b;
//還有 !=  >=  <=  >  <

10.重要算法

//從小到大排列
sort(a.begin(), a.end());
//倒置但不排列
 reverse(a.begin(),a.end());
//元素復(fù)制
copy(a.begin(),a.end(),b.begin());
//從某一區(qū)塊中查找元素值,返回位置
find(a.begin(),a.end(),10);

4.一些誤區(qū)

下標(biāo)只能獲取已存在的元素,不能進(jìn)行賦值操作

//錯(cuò)誤示例
vector<int> a;
for(int i = 0;i<10;i++)
    a[i] = i;

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!      

相關(guān)文章

  • c++實(shí)現(xiàn)獲取當(dāng)前時(shí)間(精確至秒,毫秒和微妙)

    c++實(shí)現(xiàn)獲取當(dāng)前時(shí)間(精確至秒,毫秒和微妙)

    這篇文章主要為大家詳細(xì)介紹了c++實(shí)現(xiàn)獲取當(dāng)前時(shí)間(可以精確至秒,毫秒和微妙)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2023-11-11
  • C++使用LibCurl實(shí)現(xiàn)Web隱藏目錄掃描功能

    C++使用LibCurl實(shí)現(xiàn)Web隱藏目錄掃描功能

    LibCurl是一個(gè)開源的免費(fèi)的多協(xié)議數(shù)據(jù)傳輸開源庫,該框架具備跨平臺(tái)性,開源免費(fèi),并提供了包括HTTP、FTP、SMTP、POP3等協(xié)議的功能,本文將給大家介紹C++使用LibCurl實(shí)現(xiàn)Web隱藏目錄掃描功能
    2023-11-11
  • C++深入淺出講解隱藏this指針的用法

    C++深入淺出講解隱藏this指針的用法

    在C++中,每一個(gè)對(duì)象都能通過this指針來訪問自己的地址。this?指針是所有成員函數(shù)的隱含參數(shù)。因此,在成員函數(shù)內(nèi)部,它可以用來指向調(diào)用對(duì)象
    2022-05-05
  • C++無符號(hào)整數(shù)溢出問題解析

    C++無符號(hào)整數(shù)溢出問題解析

    這篇文章主要介紹了C++無符號(hào)整數(shù)溢出探究,本文主要探討C/C++中無符號(hào)整數(shù)超過范圍后的計(jì)算問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C語言實(shí)現(xiàn)食堂就餐管理系統(tǒng)(帶鏈表)

    C語言實(shí)現(xiàn)食堂就餐管理系統(tǒng)(帶鏈表)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)食堂就餐管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 使用c語言輕松實(shí)現(xiàn)動(dòng)態(tài)內(nèi)存管

    使用c語言輕松實(shí)現(xiàn)動(dòng)態(tài)內(nèi)存管

    這篇文章主要介紹了使用c語言輕松實(shí)現(xiàn)動(dòng)態(tài)內(nèi)存管,本文章內(nèi)容詳細(xì),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,需要的朋友可以參考下
    2023-01-01
  • C語言中auto,register,static,const,volatile的區(qū)別詳細(xì)解析

    C語言中auto,register,static,const,volatile的區(qū)別詳細(xì)解析

    以下是對(duì)C語言中auto,register,static,const,volatile的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-09-09
  • Qt實(shí)現(xiàn)解壓帶有密碼的加密文件

    Qt實(shí)現(xiàn)解壓帶有密碼的加密文件

    Quazip是Qt平臺(tái)下面的一個(gè)壓縮解壓縮庫。本文將利用Quazip實(shí)現(xiàn)解壓帶有密碼的加密文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-02-02
  • MySQL系列教程之使用C語言來連接數(shù)據(jù)庫

    MySQL系列教程之使用C語言來連接數(shù)據(jù)庫

    c語言操作Mysql數(shù)據(jù)庫,主要就是為了實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的增、刪、改、查等操作,下面這篇文章主要給大家介紹了關(guān)于MySQL系列教程之使用C語言來連接數(shù)據(jù)庫的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • C++中的opeartor?new和placement?new使用步驟

    C++中的opeartor?new和placement?new使用步驟

    這篇文章主要介紹了C++中的opeartor?new和placement?new詳解,在很多情況下,placement?new的使用方法和其他普通的new有所不同。這里提供了它的使用步驟,需要的朋友可以參考下
    2022-10-10

最新評(píng)論