/*
** 功能:在list 和vector 中插入1百萬個上述型別所花的時間以秒為單位 表
**** 描述:正如你所看到的對於小的資料型別vector的效能要比list好得多,而對於大型的數
** 據型別則相反list的效能要好得多,區別是由於vector 需要重新增長以及拷貝元素。
** 但是資料型別的長度不是影響容器效能的惟一標準
****
*/#include #include #include #include #include #include using namespace std;
#define max 10000000
time_t _begin;
time_t _end;
//向vector中插入1000000條資料
templatevoid v_insert_int(t a)
}//向list中插入1000000條資料
templatevoid l_insert_int(t a)
}//乙個複雜類
class ccomplex
;//乙個簡單類
class c******
;int main()
}
結果將會發生改變:
結束!!!
vector記憶體機制和效能分析
關於vector,簡單地講就是乙個動態陣列,裡面有乙個指標指向一片連續的記憶體空間,當空間不夠裝下資料時會自動申請另一片更大的空間,然後把原有資料拷貝過去,接著釋放原來的那片空間 當釋放或者說是刪除裡面的資料時,其儲存空間並不會釋放,僅僅只是清空了裡面的資料。接下來,我會詳細地說說這些。一 首先,看...
List實現類效能和特點分析
面向介面程式設計 介面型別 變數 new 實現類 三者共同的特點 共同遵循的規範 1 允許元素重複.vector類 底層才有陣列結構演算法,方法都使用了synchronized修飾,執行緒安全,但是效能相對於arraylist較低.arraylist類 底層才有陣列結構演算法,方法沒有使用synch...
list和用vector區別
list和用vector區別 stl提供了三個最基本的容器 vector,list,deque vector和 built in 陣列類似,它擁有一段連續的記憶體空間,並且起始位址不變,因此它能非常好的支援隨即訪問,即 操作符,但由於它的記憶體空間是連續的,所以在中間進行插入和刪除會造成記憶體塊的拷...