1. 程式人生 > >acm的STL應用之vector篇

acm的STL應用之vector篇

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     return
0; 12 }
//sample output
4
4

可見,訪問容易中的數據有2中方法。數組訪問和用at(index)訪問。

(待完善)

acm的STL應用之vector篇