1 /*** 2 * vector 基礎api複習 3 * 8 AUG 2018 4 */ 5 6 #include <iostream> 7 #include <vector> 8 using namespace std; 9 10 // 列印vec向量 11 void print(vector<int> vec, int index) 12 { 13 std::cout << "vec" << index << " = "; 14 for (int i = 0; i < vec.size(); i++) 15 { 16 std::cout << vec[i]; 17 } 18 std::cout << std::endl; 19 } 20 21 int main() 22 { 23 // vector初始化 24 vector<int> vec0(10, 1); // 10個1 25 vector<int> vec1(vec0.begin(), vec0.begin() + 2); // 將vec0的前兩個值賦給vec1 26 vector<vector<int>> vec2(3, vector<int>(4)); // vec2二維向量,含有3個元素,每個元素含有4個int型vec向量 27 28 print(vec0, 0); 29 print(vec1, 1); 30 31 // vector基本操作 32 bool flag = vec0.empty(); // 判斷vec0是否為空 33 std::cout << "flag = " << flag << std::endl; 34 vec1.clear(); // 清空vec1 35 print(vec1, 1); 36 37 // vector::insert() 38 vec0.insert(vec0.begin(), 2); // 將2插入到vec0最前面 39 print(vec0, 0); 40 vec0.insert(vec0.begin(), 3, 5); // 將5插入到vec0的index值為0-2的每個位置,長度為3 41 print(vec0, 0); 42 vec0.insert(vec0.begin(), vec1.begin(), vec1.end()); // 將vec1插入到vec0前面 43 print(vec0, 0); 44 45 // vector::erase() 46 vec0.erase(vec0.begin(), vec0.begin() + 4); // 將vec0的前4位刪除 47 print(vec0, 0); 48 49 // vector::swap() 50 vec0.swap(vec1); // 將vec0與vec1交換 51 print(vec1, 1); 52 53 // vector<vector<int>> 54 vec0 = vec2[0]; // 將vec2的第0個位置的向量給vec0,這裡由於是初值,故為4個0 55 print(vec0, 0); 56 57 // vector::push_back() && vector::pop_back() 58 vec1.push_back(2); // 在尾部加入一個2 59 print(vec1, 1); 60 vec1.pop_back(); // 刪除最後一個資料 61 print(vec1, 1); 62 63 while (true) 64 { 65 getchar(); 66 } 67 return 0; 68 }