vc 使用容器 deque
deque是標準模板庫中的內容和vector一樣,deque是雙端佇列.
函式 描述
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.clear()
移除容器中所有資料。
dequec
建立乙個空的deque。
dequec1(c2)
複製乙個deque。
dequec(n)
建立乙個deque,含有n個資料,資料均已預設構造產生。
dequec(n, elem)
建立乙個含有n個elem拷貝的deque。
dequec(beg,end)
建立乙個以[beg;end)區間的deque。
c.~deque()
銷毀所有資料,釋放記憶體。
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.pop_front()
刪除頭部資料。
c.push_back(elem)
在尾部加入乙個資料。
c.push_front(elem)
在頭部插入乙個資料。
c.rbegin()
傳回乙個逆向佇列的第乙個資料。
c.rend()
傳回乙個逆向佇列的最後乙個資料的下乙個位置。
c.resize(num)
重新指定佇列的長度。
c.size()
返回容器中實際資料的個數。
c1.swap(c2)
將c1和c2元素互換。
swap(c1,c2)
同上操作。
deque操作
operator 返回容器中指定位置的乙個引用。
引用:
#include /*#include */
using namespace std;
宣告:std::dequem_p1;
使用:m_p1.push_back(message);
m_p1.front();
m_p1.pop_front ();
m_p1.size();
容器 vector 是動態分配空間,作為管理動態陣列的優先選擇
1) max_size()
返回 vector理論上可以裝的最多 t 的個數。這只是乙個理論上的數字, 大概是 4gb/sizeof(t),沒有多大實用價值。在程式中不要用。
2) size()
返回 vector中實際裝的 t 的個數。相當於 carray<>::getsize()。
3) empty()
如果 vector中沒有任何 t 物件,返回 true。也就是返回 size() == 0。
4) clear();
清除 vector中的所有 t 物件。執行後 empty() 返回 true。大致相當於 resize(0),但不要求 t 可被預設構造。相當於 carray<>::removeall()。
5) resize( size_t n, t t = t() );
將 vector 中的元素個數設定為 n,n 可以大於 size() 也可以小於 size。如果 n 小於 size(),那麼 vector 中下標為 n..size()-1 的元素都將被解構。如果 n > size(),那麼將在 vector 的後面新增加
n - size() 個相同的元素 t。在增大 vector 時,可能發生儲存再次分配。總之,呼叫resize( n, t ) 後,(size() == n) 成立。
請注意,如果呼叫 resize( n ) 不帶引數 t ,那麼 t 必須可以預設構造。
6) reserve( size_t n );
事先分配至少可以儲存 n 個 t 物件的空間。呼叫後 (capacity() >= n)成立。
7) capacity();
返回已經分配的儲存空間夠容納的 t 型別物件的個數。後續的增加元素操作(如 push_back(), insert())如果增加元素後 vector 中的總元素個數不超過 capacity(),那麼 vector 的實現保證不重新分配儲存空間。
v.push_back( i );
// 刪除 50, 51, ..., 89:
v.erase( v.begin() + 50, v.end() - 10 );
// 刪除 49, 48:
v.pop_back();
v.pop_back();
// 全部刪除:
v.clear();
容器的使用
top k frequent elements 給定乙個非空整數陣列,返回前k個最頻繁的元素 輸入 nums 1,1,1,2,2,3 k 2 輸出 1,2 思路 遇到這種top k的題目,一般都使用堆這種資料結構,因為堆排序每次只需要輸出頂部,輸出k次即可。class solution for in...
使用mysql容器
1.拉取官方mysql映象 官方映象版本分為 mysql 5.6 mysql 5.7 mysql latest docker pull mysql 5.72.執行映象 使用docker run執行映象 docker run name mysql p 12345 3306 e mysql root p...
VC批註 使用示例
vc2008 vc批註 使用示例 編譯選項 生成時啟用c c 分析 是 analyze include stdafx.h include using namespace vc attributes 要求檢查資料有效性質 int fun pre validelementsconst 2 int pda...