1.vector和
list
有幾個公共的方法,下面三個是常見的對於
vector
和list
都適用的三個函式
:-int size() const: 返回容器內的元素個數。
-void clear():刪除容器內所有的元素。
-bool empty():如果容器沒有元素,返回
true,
否則返回
false.
2.vector和
list
都適合在常量的時間內在表的末尾新增或者刪除。
vector
和list
兩者都支援在常量的時間內訪問前端的項。
-void push_back(const object & x):在表的末尾新增
x.-void pop_back():刪除表的末尾的物件。
-const object&back()const:返回表的末尾的物件。
-const object&front()const:返回表的前端的物件。
3.因為雙向鍊錶允許在表的前端進行高效的改變,而vector
不支援,
下面的方法僅對list有效:
-void push_front(const object&x):在
list
的前端加上
x.-void pop_front()在
list
的前端刪除
x.4.下面的這些方法,
僅對vector
有效:
-object &operator (int idx):返回
vector
中的idx
索引位置的物件,不包含邊界檢測。
-object&at(int idx):返回
vector
中idx
索引位置的物件,包含邊界檢測。
-int capacity()const:返回
vector
的內部容量。
-void reserve(int new capacity):設定
vector
的新容量。
5.迭代器iterator
(1)或者迭代器
iterator begin():返回指向容器的第一項的第乙個迭代器。
iterator end():返回指向容器的終止標誌(容器中最後一項的後面的位置)的乙個適當的迭代器。
定義迭代器可以這樣定義:vectorvec;
(2)需要迭代器的容器操作
下面是迭代器的三個流行的方法:
-iterator insert(iterator pos,const object&x):新增
x到表中迭代器
pos所指向的位置之前的位置。這對
list
是常量時間操作,但是對
vector
則不是。
-iterator erase(iterator pos):刪除迭代器所給出的位置的物件。這對
list
來說常量時間操作,但是對於
vector
則不是。
-iterator erase(iterator start,iterator end):刪除所有從位置
start
到end(
但是不包括
end)的所有元素。
RabbitMQ RabbitMQ的一些基礎概念
工作中使用的是rabbitmq,需要對其進行熟悉。使用之前,弄清楚它是什麼東西,解決什麼問題。開發中,有一些任務並無須實時執行,比如 如上,儲存日誌表 傳送郵件等任務的實時性並不強,在系統繁忙時有可能阻塞,堵塞容易導致任務失敗。如果我們把它們放入佇列中,輪候執行,減低耦合的同時,是不是也緩解了系統壓...
Map Set和List的一些關聯
三種集合的示意圖如下 一 map和set map集合的key具有的特徵是無序不重複,如果將map的所有key集中起來,那麼這些key就組成了乙個set集合,而且事實就是map集合提供了如下方法來返回所有key組成的集合 可以看出keyset 的返回型別就是set型別的。對於map而言只要把所有的ke...
Sort函式和Vector的一些例項
sort函式的例項 標頭檔案 include 可以對陣列進行排序,也可以對容器排序 附 void verify sort 容器vector的例項 void verify vector vector的輸出 使用迭代器訪問元素.void vector output 附上全部 以及輸出結果 include...