因為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 跟任意其它型別容器一樣,它能夠存放各種型別的物件。可以簡單的認為,向量是乙個能夠存放任意型別的動態陣列。順序序列 順序容器中的元素按照嚴格的線性順序排序。可以通過元素在序列中的位置訪問對應的元素。動態陣列 ...