Vector ======== Introduction -------- Vector是c++中陣列的替代型態,可以自主控制需要的記憶體。 Vector可以任意增加陣列長度及資料的數量,也可任意插入或刪除指定位置的資料。 基礎運用 -------- 使用vector需要加入標頭檔 ex: ```c #include ``` 建立新vector的語法 vector<變數型態> vector_name(amount,element); ex: ```c vector acm(3,4); vector csie(5);//未指定數字會補0 ``` 嘗試印出兩vector內容 output: ```c acm : 4 4 4 csie : 0 0 0 0 0 ``` 也可以直接建立空白的vector ex: ```c vector acm; ``` 此外也可以使用陣列為基礎來建構vector,將陣列原有的資料放入vector中 如此的指定方式,需要提供的參數為起始位址與結束位址 ex: ```c int array[5]={1,2,3,4,5}; vector ncku(array,array+5);//1 2 3 4 5 vector csie(array+1,array+4);//2 3 4 ``` Member functions ---------------------------- ### operator[] 中括號[]的用法與array相同,指的是vector中的指定項元素 ```c int array[5]={1,2,3,4,5}; vector ncku(array,array+5); cout << ncku[2] << endl; ``` output: ```c 3 ``` ### .push_back() ### .pop_back() ### .begin() / .end() .begin()會將iterator指向第一筆資料 .end()會將iterator指向最後一筆資料 ### .size() .size會回傳vector大小 ### .clear() / .empty() ### .erase() / .insert() ### .assign()