vector(向量)
聲明和定義
vector<int> a; //聲明一個存儲對象爲 int 的向量
vector<int> b(10, 1); //聲明一個存儲對象爲 int 的向量,有10個元素,且都賦值爲1;
//以上的"int"也可以換成其他類型變量,double, string, char等等。
//vector不僅可以裝變量,它能存放任何類型的對象,結構,類等。舉個例子
vector<vector<int>> c; //聲明一個存儲對象爲 vector<int> 的向量
c = {{1,2,3}, {0}, {}}; //定義c(給c賦值)
cout<<c[0][0]; //輸出 1 (c中第一個元素的第一個元素)
cout<<c[1][0]; //輸出 0 (c中第二個元素的第一個元素)
cout<<c[2][0]; //這樣做是錯的,沒有輸出,因爲c中第三個元素裏沒有元素
//聰明的小夥伴應該發現可以套娃了
vector<vector<vector<vector<int>>>> d; //這麼聲明也是可以的
新手常用內置函數
vector<int> a = {1,2,3};
a.size(); //返回向量a的元素個數即:3
a.push_back(4); //向a的最後添加一個元素4, a現在爲{1,2,3,4}
a.pop_out(); //彈出向量a的最後一個元素,a現在爲{1,2,3}
a.back(); //返回a的最後一個元素即:3
a.erase(a.begin(), a.begin() + 2) //刪除a的[0,2)區間內的元素,a現在爲{3}
//值得注意的是,a.begin()是“迭代器”,它是個類模版,表現的像指針但不是指針。
a.insert(a.begin(), 2) //在a的開始位置插入元素: 2, a現在爲{2,1,2,3}