day 10 acm 不定長陣列 vector

2021-07-15 07:35:52 字數 2221 閱讀 5512

vector在c++標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。

#include
定義陣列

vectora;//資料型別為int型

二維陣列;

清空陣列

a.clear();

增加陣列元素

a.push_back(1);//陣列元素加1

插入元素

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

刪除最後乙個元素

a.pop_back();

刪除元素

a.erase(a.begin()+2);//刪除第3個元素

陣列大小

m=a.size();

函式

表述vector < elem > c

建立乙個空的vector。

vector < elem>c1(c2)

複製乙個vector。

vector < elem> c(n)

建立乙個vector,含有n個資料,資料均已預設構造產生。

vector < elem> c(n, elem)

建立乙個含有n個elem拷貝的vector。

vector < elem> c(beg,end)

建立乙個以[beg;end)區間的vector。

c.~ vector < elem>()

銷毀所有資料,釋放記憶體。

c.assign(beg,end)

將[beg; end)區間中的資料賦值給c。

c.assign(n,elem)

將n個elem的拷貝賦值給c。

c.at(idx)

傳回索引idx所指的資料,如果idx越界,丟擲out_of_range。

c.back()

傳回最後乙個資料,不檢查這個資料是否存在。

c.begin()

傳回迭代器重的可乙個資料。

c.capacity()

返回容器中資料個數。

c.clear()

移除容器中所有資料。

c.empty()

判斷容器是否為空。

c.end()

指向迭代器中的最後乙個資料位址。

c.erase(pos)

刪除pos位置的資料,傳回下乙個資料的位置。

c.erase(beg,end)

刪除[beg,end)區間的資料,傳回下乙個資料的位置。

c.front()

傳回第乙個資料。

get_allocator

使用建構函式返回乙個拷貝。

c.insert(pos,elem)

在pos位置插入乙個elem拷貝,傳回新資料位置。

c.insert(pos,n,elem)

在pos位置插入n個elem資料。無返回值。

c.insert(pos,beg,end)

在pos位置插入在[beg,end)區間的資料。無返回值。

c.max_size()

返回容器中最大資料的數量。

c.pop_back()

刪除最後乙個資料。

c.push_back(elem)

在尾部加入乙個資料。

c.rbegin()

傳回乙個逆向佇列的第乙個資料。

c.rend()

傳回乙個逆向佇列的最後乙個資料的下乙個位置。

c.resize(num)

重新指定佇列的長度。

c.reserve()

保留適當的容量。

c.size()

返回容器中實際資料的個數。

c1.swap(c2)

將c1和c2元素互換。

swap(c1,c2)

同上操作。

點我點我快點我

還有我還有我

ACM內部函式10

quicksort int l,int r,int b l 排序上界,開始時 l 0 r 排序下界,開始時 r 陣列元素個數 b 被排序的元素 null 輸出公升序序列 void quicksort int l,int r,int b while b i i i if i b i x quickso...

ACM暑期集訓day02 修路

前段時間,某省發生乾旱,b山區的居民缺乏生活用水,現在需要從a城市修一條通往b山區的路。假設有a城市通往b山區的路由m條連續的路段組成,現在將這m條路段承包給n個工程隊 n m 300 為了修路的便利,每個工程隊只能分配到連續的若干條路段 當然也可能只分配到一條路段或未分配到路段 假設每個工程隊修路...

ACM新手DAY 26 計算幾何

題目 給出多個區間和多個點,計算每個區間包括的點的數目 include include include using namespace std const int n 5000 10 int sum n struct point tmp struct line line n double judge...