list和vector效能分析

2021-06-18 00:55:29 字數 773 閱讀 9016

/*

** 功能:在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 陣列類似,它擁有一段連續的記憶體空間,並且起始位址不變,因此它能非常好的支援隨即訪問,即 操作符,但由於它的記憶體空間是連續的,所以在中間進行插入和刪除會造成記憶體塊的拷...