C 標準模板庫學習 vector

2021-10-11 11:14:37 字數 1966 閱讀 1350

一、序列容器

stl提供了很多容器,每個容器提供一組操作行為。序列容器(sequence)只提供插入功能,其中的元素都是有序的,但並未排序。序列容器包括vector向量、deque雙端佇列和list雙向序列。

1、vector模板

vector是一種隨機訪問的陣列型別,提供了對陣列的快速、隨機訪問,以及在序列尾部快速、隨機的插入和刪除操作。

大小可變,在需要是可以改變其大小。

std::vectorname;
(1) 初始化具有size元素個數的vector物件

std::vectorname(size);
(2) 初始化具有size元素個數的vector物件,並將物件的初始值設定為value;

std::vectorname(size, value);
(3) 使用複製建構函式,用現有的向量myvector建立乙個vector物件;

std::vectorname(myvector);
(4) 建立元素早指定範圍內的向量,first代表起始範圍,last代表結束範圍;

std::vectorname(first, last);
(5) vector物件主要成員函式及說明

\\ vector.  需要加括號 看需求

assign(first, last); \\ 用迭代器first和last範圍內的元素替換向量元素

assign(num.val); \\ 用val的num個副本替換向量元素

at(n); \\ 返回向量中第n個位置元素的值

back; \\ 返回對向量末尾元素的引用

begin; \\ 返回指向向量的第一元素的迭代器

capcity; \\ 返回當前向量最多可以容納的元素個數

clear; \\ 刪除向量的所有元素

empty; \\ 如果向量為空,則返回true值

end; \\ 返回指向向量中最後乙個元素的迭代器

erase(start, end); \\ 刪除迭代器start到end範圍內的向量元素

erase(i); \\ 刪除迭代器i指向的向量元素

front; \\ 返回對向量其實元素的引用

insert(i, x); \\ 把向量插入向量中由迭代器i所指明的位置

insert(i, start, end); \\ 把迭代器start到end範圍內的元素插入到向量中由迭代器i所指明的位置

insert(i, n, x); \\ 把x的n個副本插入到向量中由迭代器i所指明的位置

max_size; \\ 返回向量的最大容量(最多可容納的元素個數

pop_back; \\ 刪除向量最後乙個元素

push_back; \\ 把x值放在向量末尾

rbegin; \\ 返回乙個反向迭代器,指向向量末尾元素之後

rend; \\ 返回乙個反向迭代器,指向向量起始袁術

reverse; \\ 顛倒元素的排序

resize(n,x); \\ 重新設定向量的大小n,新元素的值初始化為x

size; \\ 返回向量的大小(元素個數)

swap(vector); \\ 交換兩個向量的內容

C 標準模板庫 vector

include vectorarryname vector int myarray vector myarray2 node 是結構體 vector double myarray3 vectorint array 兩維均可變長的變長二維陣列 之間一定要有空格 否則c11之前認為是向右可能報錯 vec...

標準庫vector模板

vector是同一種型別的物件的集合,每個物件都有乙個對應的整數索引值。vector成為容器,因為它能包含其他物件,所有物件必須是同一種型別。include using std vector 注意 vector是一種類模板,不是一種資料型別,它可以來定義任意多種資料型別。如vector和vector...

C 標準模板庫 向量(vector)

1 可將向量 vector 想象成為乙個在程式執行時能改變長度的陣列。因為在c c 中定義了乙個陣列之後,這個陣列是固定長度的,不能隨意改變大小,向量和陣列用處相同,不同之處在於能自由改變大小。2 宣告變數v是基型別為int的向量 vectorv 3 vector代表乙個模板類,可以將t換成任意資料...