acm的STL應用之vector篇
阿新 • • 發佈:2018-07-12
mes main sample 維護 基本數據類型 space 檢查 range 應用
2018-07-12
在acm中c++使用vector
Vector是什麽?
1.vector介紹以及常用指令
專業來說:
vector是C++標準模板庫中的部分內容,它是一個多功能的,能夠操作多種數據結構和算法的模板類和函數庫。
vector之所以被認為是一個容器,是因為它能夠像容器一樣存放各種類型的對象,
簡單來說:
vector是一個能夠存放任意類型的動態數組,能夠增加和壓縮數據。
長度靈活,不需要維護長度。
可以裝下所有基本數據類型,也可以裝用戶定義的結構體
需要聲明頭文件以及命名空間。
因為總是需要輸入輸出數據,所以順便聲明iostream了
#include<vector> #include<iostream> using namespace std;
聲明一個容器
vector<int> ivec;
ivec.at(idx):傳回索引idx所指的數據,如果idx越界,拋出out_of_range。
ivec.back():傳回最後一個數據,不檢查這個數據是否存在。
ivec.begin():傳回叠代器重的可一個數據。
ivec.front():傳回第一個數據。
ivec.end():指向叠代器中的最後一個數據地址。
ivec.clear():移除容器中所有數據。
ivec.empty():判斷容器是否為空。
ivec.size():返回當前容器的大小。
ivec.erase(pos):刪除pos位置的數據,傳回下一個數據的位置。
ivec.pop_back():刪除最後一個數據。
ivec.push_back(elem):在尾部加入一個數據。
1 //sample input 2 int main(){ 3 4 vector<int> vec; 5 vec.push_back(3); 6 vec.push_back(4); 7 vec.push_back(3); 8 cout<<vec.at(1)<<endl; 9 cout<<vec[1]<<endl; 10 11 return0; 12 }
//sample output 4 4
可見,訪問容易中的數據有2中方法。數組訪問和用at(index)訪問。
(待完善)
acm的STL應用之vector篇