麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

vector 向量容器

2019-11-14 12:19:05
字體:
來源:轉載
供稿:網友
vector 向量容器不但能像數組一樣對元素進行隨機訪問,還能在尾部插入元素,是一種簡單、高效的容器,完全可以代替數組。頭文件:#include <vector>vector 容器的下標是從0 開始計數的.對于vector 容器的容量定義,可以事先定義一個固定大小,事后, 可以隨時調整其大?。灰部梢允孪炔欢x,隨時使用push_back()方法從尾部擴張元素,通常使用 push_back()對vector 容器在尾部追加新元素。尾部追加元素,vector 容器會 自動分配新內存空間。可對空的vector 對象擴張,也可對已有元素的vector 對象擴張。例如::vector<int> v;                         v.push_back(2);insert()在某個元素位置前插入新元素。insert()方法可以在vector 對象的任意位置前插入一個新的元素,同時,vector 自動擴 張一個元素空間,插入位置后的所有元素依次向后挪動一個位置。 要注意的是,insert()方法要求插入的位置,是元素的迭代器位置,而不是元素的下標vector<int> v(3);v[0]=2;v[1]=7;v[2]=9;//在最前面插入新元素,元素值為8v.insert(v.begin(),8);//在第2 個元素前插入新元素1v.insert(v.begin()+2,1);//在向量末尾追加新元素3v.insert(v.end(),3);//定義迭代器變量vector<int>::iterator it;for(it=v.begin();it!=v.end();it++){//輸出迭代器上的元素值cout<<*it<<" ";}//換行輸出:8 2 1 7 9 3元素的刪除:erase()方法: 可以刪除vector 中迭代器所指的一個元素或一段區間中的所有元素。clear()方法: 則一次性刪除vector 中的所有元素。#include <vector>#include <iostream>using namespace std;int main(){    vector<int> v(10);    for(int i=0; i<10; i++)    {        v[i]=i;    }//刪除下標是2 個元素,從0 開始計數    v.erase(v.begin()+2);//定義迭代器變量    vector<int>::iterator it;    for(it=v.begin(); it!=v.end(); it++)    {//輸出迭代器上的元素值        cout<<*it<<" ";    }//換行    cout<<endl;//刪除迭代器第1 到第5 區間的所有元素    v.erase(v.begin()+1,v.begin()+5);    for(it=v.begin(); it!=v.end(); it++)    {//輸出迭代器上的元素值        cout<<*it<<" ";    }//換行    cout<<endl;//清空向量    v.clear();    cout<<v.size()<<endl;    return 0;}運行結果:0 1 3 4 5 6 7 8 90 6 7 8 90兩個重要的方法:begin():返回的是首元素位置的迭代器end():返回的是最后一個元素的下一元素位置的迭代器創建vector對象:創建 vector 對象常用的有三種形式。(1)不指定容器的元素個數,如定義一個用來存儲整型的容器:vector<int> v;(2)創建時,指定容器的大小,如定義一個用來存儲10 個double 類型元素的向量容器:vector<double> v(10);注意,元素的下標為 0~9;另外,每個元素的值被初始化為0.0。(3)創建一個具有n 個元素的向量容器對象,每個元素具有指定的初始值:vector<double> v(10,8.6);上述語句定義了 v 向量容器,共有10 個元素,每個元素的值是8.6。訪問:1.利用下標既可訪問也可賦值這點類似于數組的訪問方式。vector<int> v(3);v[0]=2;v[1]=7;v[2]=9;cout<<v[0]<<" "<<v[1]<<" "<<v[2]<<endl;2.也可以使用迭代器迭代器的類型一定要與它 要遍歷的vector 對象的元素類型一致。vector<int> v(3);v[0]=2;v[1]=7;v[2]=9;//定義迭代器變量vector<int>::iterator it;for(it=v.begin();it!=v.end();it++)                       //注意:這里的it只能用it++,不可用it+=1;{//輸出迭代器上的元素值cout<<*it<<" ";}使用reverse 反向排列算法reverse 反向排列算法,需要定義頭文件“#include <algorithm>”,//反向排列向量的從首到尾間的元素reverse(v.begin(),v.end());輸出:9 8 7 6 5 4 3 2 1 使用sort 算法對向量元素排序使用 sort 算法,需要聲明頭文件“#include <algorithm>”。//排序,升序排列sort(v.begin(),v.end());//自己設計排序比較函數:對元素的值進行降序排列bool Comp(const int &a,const int &b){if(a!=b)return a>b;else return a>b;}//按Comp 函數比較規則排序sort(v.begin(),v.end(),Comp);向量的大小:使用 size()方法可以返回向量的大小,即元素的個數。使用 empty()方法返回向量是否為空。//輸出向量的大小,即包含了多少個元素cout<<v.size()<<endl;//輸出向量是否為空,如果非空,則返回邏輯假,即0,否則返回邏輯真,即1cout<<v.empty()<<endl;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 136福利视频 | 91在线看黄| 一二区成人影院电影网 | 亚洲精品有限 | 成年人免费黄色片 | 视频二区国产 | 亚洲午夜1000理论片aa | 黄色网址入口 | 国产亚洲精品久久久久久久软件 | 精品国产欧美一区二区 | 成年免费视频黄网站在线观看 | 九色p| 国产午夜精品一区二区三区不卡 | 九九热在线视频免费观看 | 精品国产乱码久久久久久丨区2区 | 九九精品久久 | 高清国产福利 | 国产精品一 | 国产精品高潮视频 | 4p嗯啊巨肉寝室调教男男视频 | 国产1级视频 | a级高清免费毛片av在线 | 亚洲午夜不卡 | 黄色特级毛片 | 亚洲午夜1000理论片aa | 在线2区 | 国产成人自拍小视频 | 国产免费传媒av片在线 | 国产羞羞视频在线观看 | 亚洲午夜国产 | 免费专区 - 91爱爱 | 成人毛片在线免费看 | 视频一区二区三区免费观看 | 欧美成人一级 | 中文字幕在线免费 | 日本在线观看中文字幕 | 手机黄色小视频 | 亚洲午夜在线视频 | 91精品国产乱码久久久久久久久 | 免费高清一级欧美片在线观看 | 国产美女精品视频 |