日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ vector用法

發(fā)布時間:2024/8/23 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ vector用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

C++ vector用法

在c++中,vector是一個十分有用的容器,下面對這個容器做一下總結(jié)。

1 基本操作

(1)頭文件#include<vector>.

(2)創(chuàng)建vector對象,vector<int> vec;

(3)尾部插入數(shù)字:vec.push_back(a);

(4)使用下標訪問元素,cout<<vec[0]<<endl;記住下標是從0開始的。

(5)使用迭代器訪問元素.

vector<int>::iterator it; for(it=vec.begin();it!=vec.end();it++)cout<<*it<<endl;

(6)插入元素:??? vec.insert(vec.begin()+i,a);在第i+1個元素前面插入a;

(7)刪除元素:??? vec.erase(vec.begin()+2);刪除第3個元素

vec.erase(vec.begin()+i,vec.end()+j);刪除區(qū)間[i,j-1];區(qū)間從0開始

(8)向量大小:vec.size();

(9)清空:vec.clear();

2

vector的元素不僅僅可以使int,double,string,還可以是結(jié)構(gòu)體,但是要注意:結(jié)構(gòu)體要定義為全局的,否則會出錯。下面是一段簡短的程序代碼:

#include<stdio.h> #include<algorithm> #include<vector> #include<iostream> using namespace std;typedef struct rect {int id;int length;int width;

  //對于向量元素是結(jié)構(gòu)體的,可在結(jié)構(gòu)體內(nèi)部定義比較函數(shù),下面按照id,length,width升序排序。
  bool operator< (const rect &a)? const
?? ?{
?? ??? ?if(id!=a.id)
?? ??? ??? ?return id<a.id;
?? ??? ?else
?? ??? ?{
?? ??? ??? ?if(length!=a.length)
?? ??? ??? ??? ?return length<a.length;
?? ??? ??? ?else
?? ??? ??? ??? ?return width<a.width;
?? ??? ?}
?? ?} }Rect;
int main() {vector<Rect> vec;Rect rect;rect.id=1;rect.length=2;rect.width=3;vec.push_back(rect);vector<Rect>::iterator it=vec.begin();cout<<(*it).id<<' '<<(*it).length<<' '<<(*it).width<<endl; return 0;}

?3? 算法

(1) 使用reverse將元素翻轉(zhuǎn):需要頭文件#include<algorithm>

reverse(vec.begin(),vec.end());將元素翻轉(zhuǎn)(在vector中,如果一個函數(shù)中需要兩個迭代器,

一般后一個都不包含.)

(2)使用sort排序:需要頭文件#include<algorithm>,

sort(vec.begin(),vec.end());(默認是按升序排列,即從小到大).

可以通過重寫排序比較函數(shù)按照降序比較,如下:

定義排序比較函數(shù):

bool Comp(const int &a,const int &b)
{
?? ?return a>b;
}
調(diào)用時:sort(vec.begin(),vec.end(),Comp),這樣就降序排序。

總結(jié)

以上是生活随笔為你收集整理的C++ vector用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。