vector不定長陣列

2022-09-07 20:51:12 字數 1176 閱讀 2371

看書的時候第n次見到vector了,一時興起:既然這麼好用就掌握它吧。

看書看別人的部落格發現原理並不複雜。並且!居然支援任意位置插入!!一直以來無限頭疼的問題,唯有二叉查詢樹--平衡樹能解決的艱難的問題居然被stl封裝好了!

立刻把之前樹狀陣列折騰了好久的題拿出來用vector做。

五分鐘搞定!!!

一. 向量

向量是一種物件實體,能夠容納許多態別相同的元素,因此被稱為容器。vector屬於stl(標準模板庫),廣義上可以看成是陣列的增強版。

二. 基本操作

#include//標頭檔案

vectora ;    //宣告乙個int型向量a

vectora(10) ;    //宣告乙個初始大小為10的向量

vectora(10, 1) ;  //宣告乙個初始大小為10且初始值都為1的向量

vectorb(a) ;    //宣告並用向量a初始化向量b

vectorb(a.begin(), a.begin()+3) ;    //將a向量中從第0個到第2個(共3個)作為向量b的初始值

a.size()      //獲取向量中的元素個數

a.empty()    //判斷向量是否為空

a.clear()   //清空向量中的元素

a = b ;       //將b向量複製到a向量中

a == b ;    //a向量與b向量比較, 相等則返回1

a.insert(a.begin(), 1000);      //將1000插入到向量a的起始位置前

a.insert(a.begin(), 3, 1000) ;   //將1000分別插入到向量元素位置的0-2處(共3個元素)

vectora(5, 1) ;

vectorb(10) ;

b.insert(b.begin(), a.begin(), a.end()) ;     //將a.begin(), a.end()之間的全部元素插入到b.begin()前

b.erase(b.begin()) ;       //將起始位置的元素刪除

b.erase(b.begin(), b.begin()+3) ;      //將(b.begin(), b.begin()+3)之間的元素刪除

b.swap(a) ;      //a向量與b向量進行交換

不定長陣列 vector

使用需要包含標頭檔案 include vector是乙個模板類,所以需要用vectora或者vectorb這種方式宣告。vector的常用操作 int len a.size 返回vector長度 a.resize 100 把a長度變為100 a.push back 10 把10新增到尾部 a.pop...

不定長陣列 vector

vector是乙個不定長陣列模板類,所以需要用vectora或者vectorb這樣的方式來進行宣告乙個vector。vector是乙個類似於int a的整數陣列,而vector就是乙個類似於string a的字串陣列。使用vector時要加 include標頭檔案 常用的vector陣列的方法有 i...

不定長陣列 vector

1.vector 在使用它時,需要包含標頭檔案vector,include.vector 容器與陣列相比其優點在於它能夠根據需要隨時 自動調整自身的大小以便容下所要放入的元素,提供了許 多的方法來對自身進行操作.2.初始化 vectora 宣告乙個int型向量a vectora 10 宣告乙個初始大...