先將總結放在最前面:
1、在不考慮原資料的情況下,使用成員函式swap是最快的
2、盡量不要用迴圈遍歷的方法,效率最低
3、根據需要可自行選擇適合的方法
下面是實驗測試**。
//#include
"stdafx.h"
#include
#include
#include
#include
#include
using
namespace std;
int_tmain
(int argc, _tchar* ar**)
clock_t cb=
clock()
;//copy
//方法1 迴圈遍歷 ----1050ms
/*for (int i=0;i<1000000;++i)
*///方法2 assign ----350ms
//方法3 swap ---1ms
//方法4 直接賦值 ----200ms
//vecdes=vecsrc;
//方法5 copy演算法 ----644ms
//copy(vecsrc.begin(),vecsrc.end(),vecdes.begin()); //vecdes為空,越界
vector
vec(
1000000);
copy
(vecsrc.
begin()
,vecsrc.
end(
),vec.
begin()
);clock_t ce=
clock()
; cout ("pause"); return0; } vector容器是類似與乙個線性陣列,索引效率高,插入,刪除的效率很低,需要遍歷資料列表,一般情況下vector的刪除操作由一下函式完成 iterator erase iterator position 刪除乙個位置iterator erase iterator first,iterator las... 1.進行陣列之間的複製 arraycopy 被複製的陣列名,被複製陣列的起始位置即為下標,要複製的陣列名,要複製陣列的起始位置,要複製的長度即為個數控制 public class arraycopy1 int s new int souce.length int souce.length syste... vector與deque之間的區別?vector deque 底層資料結構 動態陣列 動態開闢的二維陣列空間 前插入刪除元素時間複雜度 中間和末尾的刪插 都是o 1 o n o 1 對於記憶體的使用效率 需要連續的記憶體空間 可以分塊資料儲存,不需要連續的記憶體空間 在中間進行insert或者era...提高Vector容器的刪除效率
陣列之間的複製
vector 與deque list 之間的區別