演算法筆記 vector使用

2021-10-02 22:47:32 字數 1220 閱讀 8530

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...