1.vector介紹
2.vector的使用
3.vector使用的題目
stl容器向量(vector)是乙個動態陣列,隨機訪問任何元素都能在常數時間完成;是乙個模板類和函式庫。
vector是乙個線性順序結構,相當於陣列,可以不預先指定陣列的大小,並且能自動擴充套件。
(1)為了使用stl容器vector,在標頭檔案中必須包括下面的**
#include
(2)本文用到的vector的函式及操作
vectorc //產生乙個空vector,其中沒有任何元素
vectorc(n) //利用元素的default建構函式生成乙個大小為n的vector
c.begin() //傳回迭代器中的第乙個資料位址
c.end() //傳回迭代器中的最後乙個資料位址
c.size() //返回容器中實際資料的個數
c.clear() //移除容器中所有資料
c.push_back(elem) //在尾部加入乙個資料elem
示例1:
使用下標訪問容器vector中的資料
#include#includeusing namespace std;
int main()
a.push_back(10);
for(int i=0;i<=n;i++);
bool cmp(number a,number b)
題目分析
(1)選用vector來解決此題,每行輸入兩個數,建立結構體,然後用函式c.push_back(elem)將輸入的資料依次加入尾部
(2)因為要輸出所有資料中x最小的,因此需要排序,選用sort函式進行排序,加上標頭檔案#include即可
**分析:
(1)第5-8行建立結構體,bool cmp函式為排序時依據的規則(詳見sort函式詳解)
(2)主函式第1行vectornum;//產生乙個空vector,其中沒有任何元素;尖括號內為元素型別,即為結構體型別;
(3)num.clear();//移除容器中所有元素
(4)for迴圈依次輸入一組整數對,並將整數對新增到尾部,然後根據規則進行排序;
(5)將所有整數對輸入併排完序後輸出迭代器中第一組資料
(6)num.begin()//傳回迭代器中的第乙個資料位址,num.begin()+num.size()也可替換為num.end()即為傳回迭代器中的最後乙個資料位址
vector的sort使用 學習筆記
c 裡的容器有vector,list,map,pair等。最近在學習使用過程中,走了一些彎路,記錄一下。彎路1 map插入元素 如果定義了 mapm test 要插入乙個元素,不能直接m test.insert 1,1 得 m test.insert pair 1,1 或者使用m test.inse...
演算法 使用vector簡單模擬大整數
寫在讀前 看了大佬們利用結構體與過載運算子寫的大整數類 c 只會套用stl的菜雞直呼?的同時又深感無力 便寫了這篇比較簡單的利用vector模擬實現的大整數。1.定義 typedef vector bigint 簡潔明瞭,乙個vector便可以模擬乙個大整數,每位數字倒序儲存在vector中,原則上...
vector 學習筆記
c 的標頭檔案是 include 沒有.h,而且還有加上命名空間using namespace std 主要演示vector的定義以及使用下標訪問,除了下標訪問,還有迭代器。include include using namespace std void main vectorivec for ve...