# STL Container - Vector --- ## 可修改長度的陣列 ###### (某個程度上是啦...) ---- #### 範例程式碼 1 ```cpp= #include <iostream> #include <vector> // 需引用此函數庫才能用 using namespace std; int main(){ vector <int> vec; // 宣告方式1: vector <資料型態> 名稱; // 宣告方式2: vector <資料型態> 名稱(長度); <- 預設值皆為0 for(int k = 0; k < 5; k++){ int tmp; cin >> tmp; vec.push_back(tmp); // 以 名稱.push_back(資料) 以新增元素至尾端 } // 以輸入 0, 4, 2, 1, 5 為例 // vec:|0|4|2|1|5| vec.front() -= vec.back(); // 名稱.front() 可存取首端元素 // 名稱.back() 可存取尾端元素 // vec:|-5|4|2|1|5| for(int k = 0; k < 5; k++){ vec[k] += 2; // 以 [] 即可像陣列一樣存取元素,且索引值運作方式相同 } // vec:|-3|6|4|3|7| vec.pop_back(); // 名稱.pop_back() 可刪除尾端元素 // vec:|-3|6|4|3| cout << vec.size() << '\n'; // 輸出 4 // 名稱.size() 回傳 vector 的長度 vec.erase(vec.begin() + 2); // 以 名稱.erase(名稱.begin() + 索引值n) 刪除索引值為n的元素 vec.clear(); // 以 名稱.clear() 的方式清空 vector return 0; } ``` ---- ### 優點 1. 維護容易 2. 可修改長度 ---- ### 缺點 1. 存取時間稍慢 2. 占用較多記憶體
{"metaMigratedAt":"2023-06-15T00:14:58.288Z","metaMigratedFrom":"Content","title":"STL Container - Vector","breaks":true,"contributors":"[{\"id\":\"e5cad38d-b128-4a77-9e0d-d53dea367946\",\"add\":1054,\"del\":3}]"}
    438 views