C STL vector 使用筆記

2021-10-05 04:52:25 字數 1664 閱讀 7335

定義

用來當長度可變的陣列使用

vector<

typename

> name;

//定義乙個名為name的typename型別vector容器

vectortypename

>

> name;

//定義乙個名為name的typename型別vector容器的容器

//類似於二維陣列,> >之間要加乙個空格

訪問

(1)直接通過下標訪問(下標為 0~vi.size()-1 )

(2)通過迭代器 it 訪問

迭代器的定義:(類似指標,*it 即為 it 指向的元素內容)

vector<

typename

>

::iterator it;

/*注*/vi[i]==*

(vi.

begin()

+i)

支援自加自減 it++/it–

不支援「 it < vi.end() 」的寫法

for

(vector<

int>

::iterator it = vi.

begin()

; it != vi.

end(

);it++

)//合法

for(vector<

int>

::iterator it = vi.

begin()

; it < vi.

end(

);it++

)//不合法

常用函式

新增和刪除(在末尾),o(1)

vi.

push_back

(x);

//在末尾新增元素x

vi.pop_back()

;//刪除末尾元素

返回長度,o(1)

vi.

size()

;//返回的是unsigned型別,可以%d

清空,o(n)

vi.

clear()

;//清空vi中所有元素

插入元素,o(n)

vi.

insert

(it,x)

;//在vi的it位置插入x

vi.insert

(vi.

begin()

+a ,x)

;//在vi[a]插入x

刪除,o(n)

vi.

erase

(it)

;//刪除迭代器為it處的元素

vi.erase

(vi.

begin()

+a,vi.

begin()

+b);

//刪除vi[a]~vi[b-1]的元素

Vim 使用筆記

set hlsearch set nohlsearch 搜尋後清除上次的加亮 nohl nohlsearch 拷貝 很有用的一句話,規定了格式選項,讓它換行不自動空格 set formatoptions tcrqn set fo r set noautoindent 再 shift insert 正...

xemacs使用筆記

xemacs使用筆記 xemacs emacs的下一代,由lucid原創 from debian參考手冊.由於不知道什麼時候刪掉了emacs的乙個重要檔案.每次都沒法安裝好.突然發現了xemacs,於是決定使用看看.本人還是菜鳥,僅供交流 我使用的ubuntu系統,所以就直接apt get inst...

TreeView使用筆記

treeview由節點構成,建樹通過對treeview.items屬性進行操作。items是乙個ttreenodes物件,這是乙個ttreenode集。一 針對ttreenodes,也就是 treeview.items,有這些屬性 1 count,節點個數。2 item index 通過index得...