C STL vector的insert用法整理

2021-10-06 13:26:19 字數 934 閱讀 5755

因為vector是可以和陣列一樣操作的,所以很多用法都幾乎用不到;

比如insert用法,很少用到,但是還是要複習一下;

vector<

int>ve;

ve.insert

(ve.

begin()

,1);

//表示在第乙個位置插入1

ve.insert

(ve.

end(),

10);//表示在末尾位置追加10

最**的是vector還可以和二分結合起來用;

例題:洛谷·p1168 中位數

這題是給你n個數字,然後讓你求出前1,3,5,…個數的中位數。

一般的思路是開乙個multiset,自動排序,然後找出中間位置即可,但是multiset返回的迭代器,並且這個迭代器不能加減,無法o(1)找到中間位置;

這個時候可以用 vector 了,每次把輸入的 a[i] 插入到 vector 中大於 a[i] 的位置上,這樣等於是排好序了,直接輸出 vector 的中間位置即可;

**:

#include

#define ll long long

#define pa pair

#define ls k<<1

#define rs k<<1|1

#define inf 0x3f3f3f3f

using

namespace std;

const

int n=

100100

;const

int m=

2000000

;const ll mod=

1e9+7;

vector<

int>ve;

intmain()

return0;

}

insertSelective和insert的區別

1 selective的意思是 選擇性 2 insertselective 選擇性儲存資料 比如user裡面有三個字段 id,name,age,password 但是我只設定了乙個字段 user u new user u.setname 張三 insertselective u 3 insertse...

C STL Vector簡單講解

線性容器,內儲存資料的型別相同 優點 快速訪問資料 動態擴充套件容量 資料連續儲存,空間利用率高 缺點 資料插入時間代價高 動態增加容量時,時間代價較高 適用 需要大量隨機訪問,不需要經常插入刪除的情況 include stdafx.h include include using namespace...

C STL vector用法總結

向量 vector 是乙個封裝了動態大小陣列的順序容器 sequence container 跟任意其它型別容器一樣,它能夠存放各種型別的物件。可以簡單的認為,向量是乙個能夠存放任意型別的動態陣列。順序序列 順序容器中的元素按照嚴格的線性順序排序。可以通過元素在序列中的位置訪問對應的元素。動態陣列 ...