1. 程式人生 > 實用技巧 >一.關於STL的使用的個人學習和總結(vector篇)

一.關於STL的使用的個人學習和總結(vector篇)

向量 vector 是一種物件實體, 能夠容納許多其他型別相同的元素, 因此又被稱為容器。 與string相同, vector 同屬於STL(Standard Template Library, 標準模板庫)中的一種自定義的資料型別, 可以廣義上認為是陣列的增強版。

它在儲存的能力上比陣列強,可以用來儲存基本的型別,如int,double等,還可以儲存指標和結構體;

基本的宣告

vector<int> a;//聲明瞭一個int 型別的a  vector變數,

還有其他的宣告方式

    vector<int> a{1,2,3,4}; //基本的a的賦值 
    vector<int
> b(10,1);//聲明瞭一個b變數,長度為10且全為1; vector<int> b1(b) ; //把b中的值全賦值到b1中 // cout<<b1[1]; vector<int> b2(a.begin(),a.begin()+3);//把a中第1個到第3個元素賦值給b2 // cout<<b2[2];

元素的訪問與輸入

vector<int> a(8,0); //宣告一個大小為8,元素全為0的陣列
    cin>>a[1];
    cin>>a[0];
    cin>>a[2
]; for(int i=0;i<a.size();i++){ cout<<a[i]<<endl; } return 0;

就像C裡使用的陣列方式一樣

vector的基本操作及方法

vector<int> a(8,0); //宣告一個大小為8,元素全為0的陣列
    a.size();//vector中沒有使用length來求長度,不同於string 
    if(a.empty()){
        //程式碼 
    }
    a.clear();
    a.insert(a.begin(),2);//把2放在首元素之前 
a.insert(a.begin(),3,2); //把2插入到首元素的第一個到第三個元素的位置上 b.insert(b.begin(), a.begin(), a.end()) ; //將a.begin(), a.end()之間的全部元素插入到b.begin()前 a.erase(a.begin())//將起始位置的元素刪除 a.erase(a.begin(),a.begin()+5) //從第一個到第五個元素全刪除 b.swap(a) ; //a向量與b向量進行交換