vector和list的一些基本用法

2021-07-05 05:19:20 字數 1663 閱讀 6918

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...