1.vector是表示可變大小的陣列容器;
2.與陣列的不同是,vector的大小是可以動態改變的,大小會被容器自動處理;3
3.vector插入新資料時需要增容,vector會分配乙個新的陣列,然後將資料全部拷過來;
vector //無參構造
vector(size_type n,const value_type& val = value type()) //構造並初始化n個val;
vector (const vector & x); //拷貝構造
vector(inputlterator first,inputlterator last) //使用迭代器進行初始化構造
手撕**
using namespace std;
vectorv1(1);
vectorv2(1, 2);
vectorv3(v2.begin(), v2.end());
vectorv4(v3);
begin+end //分別獲取第乙個資料的位置和最後乙個位置的下乙個位置
rbegin+rend //分別獲取最後乙個資料位置和第乙個資料前乙個位置
注意事項1.使用迭代器時需展開vector::const_iterator定義變數進行賦值,迭代器不僅僅可以遍歷,還可以用於修改物件的值。
size //獲取資料的個數;
capacity //獲取資料的容量;
empty //判空
resize //改變vector的size;
reserve //改變vector放入的capacity;
注意事項.1.vector的capacity是根據編譯器決定的,增容的方式並不確定,不同編譯器下的情況不同。
2.resize在開空間的同時還會初始化,影響size。
push_back //尾插
pop_back // 尾刪
find //查詢
insert //在position位置之前插入資料
erase //刪除position位置的資料
swap //交換倆個vector的資料空間
operator //在vector的過載,利用下標訪問資料
注意事項:find如果找到該元素,會返回該元素所在位置,如果不在,則返回end()位置
1.operator
2.迭代器
3.範圍for
注意:1.迭代器可能會失效,如erase,insert,resize,reserve,assgin,push_back等pos會被移位或刪除,造成野指標問題,系統會崩潰。
2.範圍for底層是迭代器實現。
vector的基本使用
vector是stl最常見的容器,它是一種順序容器,可以隨機訪問。vector是一塊連續分配的記憶體,與陣列較為相似。不同之處在於陣列是靜態分配記憶體,確定大小之後不能改變 vector是動態分配記憶體,可根據自身元素的不斷增多而進行的增容。要使用vector,必須新增標頭檔案,而且如果沒有命名空間...
容器 Vector 的基本使用
v.push back value 代表向容器插入這種型別的資料 v.begin 指向容器的第乙個資料 v.end 指向容器的最後乙個資料的後乙個資料 include include include include using namespace std void myout int value i...
vector的基本用法
vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。標頭檔案 include 宣告 乙個in...