向量(vector)是乙個封裝了動態大小陣列的順序容器(sequence container)。在c++中vector應用較多,那如何求取vector中資料的和與均值呢?
當然,我們可以利用最直接的迴圈來做(即利用vector.size())。但是有沒有簡單方法呢,答案是肯定的。可利用如下函式進行處理,舉乙個簡單的例子以供參考。
先假設已經擁有乙個含有資料的vector,即vector vec,我們可以利用accumulate來進行;
double sumvalue =
accumulate
(begin
(vec)
,end
(vec)
,0.0);
// accumulate函式就是求vector和的函式;
double meanvalue = sumvalue / vec.
size()
;// 求均值
這裡需要注意一點:標頭檔案!!!標頭檔案!!!!
#include
#include
STL中的vector與list插入資料速度比較
對於忘list中插入資料,很好理解,分配乙個新的結點空間,新增到鍊錶尾部即可 對於往vectorz中新增資料,需要判斷當前控制項是否夠用,不夠用的話需要再次分配稍大的一些空間,然後把已有的元素拷貝到新的空間區域,然後釋放已有的空間。也許有人覺得這個拷貝操作很費時,覺得沒有list新增的速度快,然而,...
Java中的Vector與ArrayList的區別
首先看這兩類都實現list介面,而list介面一共有三個實現類,分別是arraylist vector和linkedlist。list用於存放多個元素,能夠維護元素的次序,並且允許元素的重複。1 arraylist 是最常用的list實現類,內部是通過陣列實現的,它允許對元素進行快速隨機訪問。陣列的...
vector中的resize與reserve區別
首先必須弄清楚兩個概念 1.capacity 指容器在分配新的儲存空間之前能儲存的元素總數。2.size 指當前容器所儲存的元素個數 在弄清這兩個概念以後,很容易懂resize和reserve的區別 1 reserve表示容器預留空間,但並不是真正的建立物件,需要通過insert 或push bac...