锘??xml version="1.0" encoding="utf-8" standalone="yes"?>99久久国产热无码精品免费,久久精品一区二区三区不卡,久久久国产精品http://www.shnenglu.com/tyt2008cn/category/6167.html涓轟簡蹇樺嵈鐨勮蹇?/description>zh-cnThu, 22 May 2008 00:47:10 GMTThu, 22 May 2008 00:47:10 GMT60錛堣漿錛夋繁鍏ョ爺絀?C++涓殑 STL Deque 瀹瑰櫒http://www.shnenglu.com/tyt2008cn/archive/2008/02/29/43497.html寰皹寰皹Fri, 29 Feb 2008 14:04:00 GMThttp://www.shnenglu.com/tyt2008cn/archive/2008/02/29/43497.htmlhttp://www.shnenglu.com/tyt2008cn/comments/43497.htmlhttp://www.shnenglu.com/tyt2008cn/archive/2008/02/29/43497.html#Feedback0http://www.shnenglu.com/tyt2008cn/comments/commentRss/43497.htmlhttp://www.shnenglu.com/tyt2008cn/services/trackbacks/43497.html 

 

鏈枃妗f繁鍏ュ垎鏋愪簡std::deque錛屽茍鎻愪緵浜嗕竴涓寚瀵兼濇兂錛氬綋鑰冭檻鍒板唴瀛樺垎閰嶅拰鎵ц鎬ц兘鐨勬椂鍊欙紝浣跨敤std::deque瑕佹瘮std::vector濂姐?br>
銆銆浠嬬粛

銆銆鏈枃娣卞叆鍦扮爺絀朵簡std::deque 瀹瑰櫒銆傛湰鏂囧皢璁ㄨ鍦ㄤ竴浜涙儏鍐典笅浣跨敤deque> 姣攙ector鏇村ソ銆傝瀹岃繖綃囨枃绔犲悗璇昏呭簲璇ヨ兘澶熺悊瑙e湪瀹歸噺澧為暱鐨勮繃紼嬩腑deque 涓巚ector鍦ㄥ唴瀛樺垎閰嶅拰鎬ц兘鐨勪笉鍚岃〃鐜般傜敱浜巇eque> 鍜寁ector鐨勭敤娉曞緢鐩鎬技錛岃鑰呭彲浠ュ弬鑰僾ector 鏂囨。涓粙緇嶅浣曚嬌鐢⊿TL瀹瑰櫒銆?br>
銆銆Deque鎬昏

銆銆deque鍜寁ector涓鏍烽兘鏄爣鍑嗘ā鏉垮簱涓殑鍐呭錛宒eque鏄弻绔槦鍒楋紝鍦ㄦ帴鍙d笂鍜寁ector闈炲父鐩鎬技錛屽湪璁稿鎿嶄綔鐨勫湴鏂瑰彲浠ョ洿鎺ユ浛鎹€傚亣濡傝鑰呭凡緇忚兘澶熸湁鏁堝湴浣跨敤vector瀹瑰櫒錛屼笅闈㈡彁渚沝eque鐨勬垚鍛樺嚱鏁板拰鎿嶄綔錛岃繘琛屽姣斿弬鑰冦?br>
銆銆Deque鎴愬憳鍑芥暟

鍑芥暟
鎻忚堪
c.assign(beg,end)
c.assign(n,elem)
灝哰beg; end)鍖洪棿涓殑鏁版嵁璧嬪肩粰c銆?br>灝唍涓猠lem鐨勬嫹璐濊祴鍊肩粰c銆?/td>
c.at(idx)
浼犲洖绱㈠紩idx鎵鎸囩殑鏁版嵁錛屽鏋渋dx瓚婄晫錛屾姏鍑簅ut_of_range銆?/td>
c.back()
浼犲洖鏈鍚庝竴涓暟鎹紝涓嶆鏌ヨ繖涓暟鎹槸鍚﹀瓨鍦ㄣ?/td>
c.begin()
浼犲洖榪唬鍣ㄩ噸鐨勫彲涓涓暟鎹?/td>
c.clear()
縐婚櫎瀹瑰櫒涓墍鏈夋暟鎹?/td>
deque<Elem> c
deque<Elem> c1(c2)
Deque<Elem> c(n)
Deque<Elem> c(n, elem)
Deque<Elem> c(beg,end)
c.~deque<Elem>()
鍒涘緩涓涓┖鐨刣eque銆?br>澶嶅埗涓涓猟eque銆?br>鍒涘緩涓涓猟eque錛屽惈鏈塶涓暟鎹紝鏁版嵁鍧囧凡緙虹渷鏋勯犱駭鐢熴?br>鍒涘緩涓涓惈鏈塶涓猠lem鎷瘋礉鐨刣eque銆?br>鍒涘緩涓涓互[beg;end)鍖洪棿鐨刣eque銆?br>閿姣佹墍鏈夋暟鎹紝閲婃斁鍐呭瓨銆?/td>
c.empty()
鍒ゆ柇瀹瑰櫒鏄惁涓虹┖銆?/td>
c.end()
鎸囧悜榪唬鍣ㄤ腑鐨勬渶鍚庝竴涓暟鎹湴鍧銆?/td>
c.erase(pos)
c.erase(beg,end)
鍒犻櫎pos浣嶇疆鐨勬暟鎹紝浼犲洖涓嬩竴涓暟鎹殑浣嶇疆銆?br>鍒犻櫎[beg,end)鍖洪棿鐨勬暟鎹紝浼犲洖涓嬩竴涓暟鎹殑浣嶇疆銆?/td>
c.front()
浼犲洖鍦頒竴涓暟鎹?/td>
get_allocator
浣跨敤鏋勯犲嚱鏁拌繑鍥炰竴涓嫹璐濄?/td>
c.insert(pos,elem)
c.insert(pos,n,elem)
c.insert(pos,beg,end)
鍦╬os浣嶇疆鎻掑叆涓涓猠lem鎷瘋礉錛屼紶鍥炴柊鏁版嵁浣嶇疆銆?br>鍦╬os浣嶇疆鎻掑叆>n涓猠lem鏁版嵁銆傛棤榪斿洖鍊箋?br>鍦╬os浣嶇疆鎻掑叆鍦╗beg,end)鍖洪棿鐨勬暟鎹傛棤榪斿洖鍊箋?/td>
c.max_size()
榪斿洖瀹瑰櫒涓渶澶ф暟鎹殑鏁伴噺銆?/td>
c.pop_back()
鍒犻櫎鏈鍚庝竴涓暟鎹?/td>
c.pop_front()
鍒犻櫎澶撮儴鏁版嵁銆?/td>
c.push_back(elem)
鍦ㄥ熬閮ㄥ姞鍏ヤ竴涓暟鎹?/td>
c.push_front(elem)
鍦ㄥご閮ㄦ彃鍏ヤ竴涓暟鎹?/td>
c.rbegin()
浼犲洖涓涓嗗悜闃熷垪鐨勭涓涓暟鎹?/td>
c.rend()
浼犲洖涓涓嗗悜闃熷垪鐨勬渶鍚庝竴涓暟鎹殑涓嬩竴涓綅緗?/td>
c.resize(num)
閲嶆柊鎸囧畾闃熷垪鐨勯暱搴︺?/td>
c.size()
榪斿洖瀹瑰櫒涓疄闄呮暟鎹殑涓暟銆?/td>
C1.swap(c2)
Swap(c1,c2)
灝哻1鍜宑2鍏冪礌浜掓崲銆?br>鍚屼笂鎿嶄綔銆?/td>

銆銆Deque鎿嶄綔

鍑芥暟
鎻忚堪
operator[]
榪斿洖瀹瑰櫒涓寚瀹氫綅緗殑涓涓紩鐢ㄣ?/td>

銆銆涓婇潰榪欎簺鐗瑰緛鍜寁ector鏄庢樉鐩鎬技錛屾墍浠ユ垜浠細鎻愬嚭涓嬮潰鐨勭枒闂?br>
銆銆闂錛氬鏋渄eque鍜寁ector鍙互鎻愪緵鐩稿悓鍔熻兘鐨勬椂鍊欙紝鎴戜滑浣跨敤鍝竴涓洿濂藉憿錛?br>
銆銆鍥炵瓟錛氬鏋滀綘瑕侀棶鐨勮瘽錛屽氨浣跨敤vector鍚с?br>
銆銆鎴栬呬綘緇欎釜瑙i噴錛?br>
銆銆闈炲父楂樺叴浣犺繖鏍烽棶錛岀殑紜紝榪欏茍涓嶆槸鏃犱腑鐢熸湁鐨勶紝浜嬪疄涓婏紝鍦?a target=_blank>C++鏍囧噯閲岃В閲婁簡榪欎釜闂錛屼笅闈㈡湁涓涓墖鏂細

銆銆vector鍦ㄩ粯璁ゆ儏鍐典笅鏄吀鍨嬬殑浣跨敤搴忓垪鐨勬柟娉曪紝瀵逛簬deque錛屽綋浣跨敤鎻掑叆鍒犻櫎鎿嶄綔鐨勬椂鍊欐槸涓涓洿濂界殑閫夋嫨銆?br>
銆銆鏈夎叮鐨勬槸錛屾湰鏂囧氨鏄闈炲父褰誨簳鍦扮悊瑙h繖鍙ヨ瘽銆?br>
銆銆浠涔堟槸鏂扮殑錛?/strong>

銆銆緇嗚涓婇潰涓ゅ紶琛ㄦ牸錛屼綘浼氬彂鐜板拰vector姣旇緝榪欓噷澧炲姞浜嗕袱涓嚱鏁般?br>
銆銆1銆乧.push_front(elem) 鈥斺?鍦ㄥご閮ㄦ彃鍏ヤ竴涓暟鎹?br>
銆銆2銆乧.pop_front() 鈥斺?鍒犻櫎澶撮儴鏁版嵁銆?br>
銆銆璋冪敤鏂規硶鍜宑.push_back(elem)鍜宑.pop_back()鐩稿悓錛岃繖浜涘皢鏉ヤ細鍛婅瘔鎴戜滑瀵逛簬deque> 浼氶潪甯告湁鐢紝deque鍙互鍦ㄥ墠鍚庡姞鍏ユ暟鎹?gt;

銆銆緙哄皯浜嗕粈涔堬紵

銆銆鍚屾椂浣犱篃浼氬彂鐜扮浉瀵逛簬vector> 緙哄皯浜嗕袱涓嚱鏁幫紝浣犲皢浜嗚В鍒癲eque> 涓嶉渶瑕佸畠浠?br>
銆銆1銆乧apacity()鈥斺?榪斿洖vector褰撳墠鐨勫閲忋?br>
銆銆2銆乺eserve() 鈥斺?緇欐寚瀹氬ぇ灝忕殑vector> 鍒嗛厤絀洪棿銆?br>
銆銆榪欓噷鏄垜浠湡姝g爺絀剁殑寮濮嬶紝榪欓噷璇存槑deque> 鍜寁ector瀹冧滑鍦ㄧ鐞嗗唴閮ㄥ瓨鍌ㄧ殑鏃跺欐槸瀹屽叏涓嶅悓鐨勩俤eque鏄ぇ鍧楀ぇ鍧楀湴鍒嗛厤鍐呭瓨錛屾瘡嬈℃彃鍏ュ浐瀹氭暟閲忕殑鏁版嵁銆倂ector鏄氨榪戝垎閰嶅唴瀛橈紙榪欏彲鑳戒笉鏄竴涓潖鐨勪簨鎯咃級銆備絾鎴戜滑搴旇鍏蟲敞鏄紝vector姣忔澧炲姞鐨勫唴瀛樿凍澶熷ぇ鐨勬椂鍊欙紝鍦ㄥ綋鍓嶇殑鍐呭瓨涓嶅鐨勬儏鍐點備笅闈㈢殑瀹為獙鏉ラ獙璇乨eque涓嶉渶瑕乧apacity()鍜宺eserve()> 鏄潪甯告湁閬撶悊鐨勩?br>
銆銆瀹為獙涓 鈥斺?澧為暱鐨勫鍣?/strong>

銆銆鐩殑

銆銆鐩殑鏄氳繃瀹為獙鏉ヨ瀵焏eque鍜寁ector鍦ㄥ閲忓闀跨殑鏃跺欐湁浠涔堜笉鍚屻傜敤鍥懼艦鏉ヨ鏄庡畠浠湪鍒嗛厤鍐呭瓨鍜屾墽琛屾晥鐜囦笂鐨勪笉鍚屻?br>
銆銆鎻忚堪

銆銆榪欎釜瀹為獙鐨勬祴璇曠▼搴忔槸浠庝竴涓枃浠朵腑璇誨彇鏂囨湰鍐呭錛屾瘡琛屼綔涓轟竴涓暟鎹嬌鐢╬ush_back鎻掑叆鍒癲eque> 鍜寁ector涓紝閫氳繃澶氭璇誨彇鏂囦歡鏉ュ疄鐜版彃鍏ュぇ閲忕殑鏁版嵁錛屼笅闈㈣繖涓被灝辨槸涓轟簡嫻嬭瘯榪欎釜鍐呭錛?br>
#include <deque>
#include <fstream>
#include <string>
#include <vector>

static enum modes
{
銆FM_INVALID = 0,
銆FM_VECTOR,
銆FM_DEQUE
};

class CVectorDequeTest
{
銆public:
銆銆CVectorDequeTest();
銆銆void ReadTestFile(const char* szFile, int iMode)
銆銆{
銆銆銆char buff[0xFFFF] = {0};
銆銆銆std::ifstream inFile;
銆銆銆inFile.open(szFile);
銆銆銆while(!inFile.eof())
銆銆銆{
銆銆銆銆inFile.getline(buff, sizeof(buff));
銆銆銆銆if(iMode == FM_VECTOR)
銆銆銆銆銆m_vData.push_back(buff);
銆銆銆銆else if(iMode == FM_DEQUE)
銆銆銆銆銆m_dData.push_back(buff);
銆銆銆}
銆銆銆inFile.close();
銆銆}
銆銆virtual ~CVectorDequeTest();
銆protected:
銆銆std::vector<std::string> m_vData;
銆銆std::deque<std::string> m_dData;
};


銆銆緇撴灉

銆銆嫻嬭瘯紼嬪簭榪愯鐨勫鉤鍙板拰涓浜涙潯浠訛細

CPU 1.8 GHz Pentium 4
鍐呭瓨 1.50 GB
鎿嶄綔緋葷粺 W2K-SP4
鏂囦歡涓殑琛屾暟 9874
騫沖潎姣忚瀛楁瘝涓暟
1755.85
璇繪枃浠剁殑嬈℃暟
45
鎬誨叡鎻掑叆鐨勬暟鎹釜鏁?/td> 444330


銆銆浣跨敤Windows浠誨姟綆$悊鍣ㄦ潵璁板綍鎵ц鏁堢巼錛屾湰紼嬪簭涓嬌鐢ㄤ簡Laurent Guinnard 鐨凜Duration綾匯傛秷鑰楃郴緇熻祫婧愬涓嬪浘錛?br>

銆銆娉ㄦ剰鍦╲ector鍒嗛厤鍐呭瓨鐨勬渶楂樺嘲錛寁ector鍦ㄥ垎閰嶅唴瀛樼殑鏃跺欐槸鎬庢牱杈懼埌鏈楂樺鹼紝deque灝辨槸榪欐牱鐨勶紝瀹冨湪鎻掑叆鏁版嵁鐨勫悓鏃訛紝鍐呭瓨鐩寸嚎澧為暱錛岄鍏坉eque鐨勮繖縐嶅唴瀛樺垎閰嶅崟鍏冭繘琛屽洖鏀剁殑璇濓紝瀛樺湪鎰忔兂涓嶅埌鐨勫悗鏋滐紝鎴戜滑甯屾湜瀹冪殑鍒嗛厤鍐呭瓨鐪嬩笂鍘誨拰vector涓鏍鳳紝閫氳繃涓婇潰鐨勬祴璇曟垜浠渶瑕佽繘涓姝ョ殑嫻嬭瘯錛岀幇鎻愬嚭涓涓亣璁撅細鍋囪deque鍒嗛厤鐨勫唴瀛樹笉鏄繛緇殑錛屼竴瀹氶渶瑕侀噴鏀懼拰鏀跺洖鍐呭瓨錛屾垜浠皢榪欎簺鍋囪鍔犲叆鍚庨潰鐨勬祴璇曚腑錛屼絾鏄鍏堣鎴戜滑浠庢墽琛岀殑鎬ц兘澶栬〃鍒嗘瀽涓涓嬭繖涓疄楠屻?br>
銆銆絀剁珶鍒嗛厤鍐呭瓨闇瑕佹秷鑰楀涔咃紵

銆銆娉ㄦ剰鐪嬩笅闈㈣繖寮犲浘鐗囷紝vector鍦ㄤ笉鎻掑叆鏁版嵁鐨勬椂鍊欏湪榪涜瀵繪眰鍒嗛厤鏇村鍐呭瓨銆?br>

銆銆鍚屾椂鎴戜滑涔熸敞鎰忓埌浣跨敤push_back鎻掑叆涓緇勬暟鎹秷鑰楃殑鏃墮棿錛屾敞鎰忥紝鍦ㄨ繖閲屾瘡鎻掑叆涓緇勬暟鎹唬琛ㄧ潃9874涓覆錛屽鉤鍧囨瘡涓覆鐨勯暱搴︽槸1755.85銆?br>

 

瀹為獙浜屸斺?vector::reserve()鐨勮祫婧?/strong>

銆銆鐩殑

銆銆榪欎釜瀹為獙鐨勭洰鐨勬槸vector鍦ㄥ姞鍏ュぇ閲忔暟鎹箣鍓嶈皟鐢╮eserve()錛屽拰deque榪涜姣旇緝錛岀湅瀹冧滑鐨勫唴瀛樺垎閰嶅拰鎵ц鏁堢巼鎬庝箞鏍鳳紵

銆銆鎻忚堪

銆銆鏈疄楠屼腑鐨勬祴璇曞熀鏈笂鍜屽疄楠屼竴鐩稿悓錛岄櫎浜嗗湪嫻嬭瘯綾葷殑鏋勯犲嚱鏁頒腑鍔犲叆涓嬮潰榪欒浠g爜:

m_vData.reserve(1000000);

銆銆緇撴灉

銆銆嫻嬭瘯紼嬪簭榪愯鐨勫鉤鍙板拰涓浜涙潯浠訛細

CPU
1.8 GHz Pentium 4
鍐呭瓨
1.50 GB
鎿嶄綔緋葷粺
W2K-SP4
鏂囦歡涓殑琛屾暟
9874
騫沖潎姣忚瀛楁瘝涓暟
1755.85
璇繪枃浠剁殑嬈℃暟
70
鎬誨叡鎻掑叆鐨勬暟鎹釜鏁?br> 691180

銆銆浣跨敤Windows浠誨姟綆$悊鍣ㄦ潵璁板綍鎵ц鏁堢巼錛屾湰紼嬪簭涓嬌鐢ㄤ簡>Laurent Guinnard 鐨凜Duration綾匯傛秷鑰楃郴緇熻祫婧愬涓嬪浘錛?br>

銆銆鎴戜滑娉ㄦ剰鍒皏ector涓嶅湪闇瑕佸垎閰嶈姳璐瑰浣欑殑鏃墮棿鍒嗛厤鍐呭瓨浜嗭紝榪欐槸鐢變簬鎴戜滑浣跨敤浜唕eserve()瀵逛簬鎵嫻嬭瘯鐨?gt;691180涓暟鎹負鎴戜滑姣忎竴嬈℃彃鍏ュぇ閲忔暟鎹殑鏃跺欎繚鐣欎簡瓚沖鐨勫唴瀛樼┖闂達紝瀵逛簬deque瀛樺偍鍒嗛厤鐨勫亣璁撅紝瑙傚療榪欎釜嫻嬭瘯涓殑鍐呭瓨鍒嗛厤鍥懼艦鍜屼笂涓涓浘褰紝鎴戜滑闇瑕佽繘涓姝ラ噺鍖栬繖涓祴璇曘?br>
銆銆鎬庢牱鏀硅壇鍐呭瓨鍒嗛厤鐨勬ц兘鍛紵

銆銆涓嬮潰榪欎釜鍥句緥璇存槑闅忕潃鏁版嵁鐨勫鍔狅紝瀹歸噺鍦ㄥ鍔狅細


銆銆褰撳鍔犳暟鎹殑鏃跺欏瀹歸噺鐨勫鍔犲湪vector鍜宒eque鎵ц鏁堢巼鍩烘湰涓鏍鳳紝鐒惰岋紝vector鍦ㄦ彃鍏ユ暟鎹殑鏃跺欐湁涓浜涢浂鏄熺殑鏃墮棿娑堣楋紝鐪嬩笅闈㈢殑鍥句緥錛?br>

銆銆閫氳繃緇熻鍒嗘瀽vector鍜宒eque鍦ㄦ彃鍏ュ鉤鍧囦負>1755.85闀垮害鐨?gt;9874涓暟鎹墍鑺辮垂鐨勬椂闂達紝涓嬮潰鏄葷粨鐨勮〃鏍鹼細


Vector

Deque

Mean

0.603724814 sec

Maximum

0.738313000 sec

Minimum

0.559959000 sec


Std. Dev

0.037795736 sec

6-Sigma

0.226774416 sec

Mean

0.588021114 sec

Maximum

0.615617000 sec

Minimum

0.567503000 sec

Std. Dev

0.009907800 sec

6-Sigma

0.059446800 sec


銆銆瀹為獙涓夆斺斿唴瀛樺洖鏀?/strong>

銆銆鐩殑

銆銆鏈疄楠屾槸瀵瑰亣璁綿eque鍒嗛厤鐨勫唴瀛樹笉鏄復榪戠殑錛岃屼笖寰堥毦鍥炴敹榪涜閲忓寲嫻嬭瘯鍒嗘瀽銆?br>
銆銆鎻忚堪

銆銆鍦ㄦ湰瀹為獙涓啀嬈$敤鍒頒簡瀹為獙涓涓殑浠g爜錛屽湪璋冪敤鍑芥暟涓姞鍏ヨ褰曞鍔犳暟鎹墽琛岀殑鏁堢巼鍏蜂綋鍏ヤ笅闈㈡搷浣滐細

for(xRun=0; xRun<NUMBER_OF_XRUNS; xRun++)
{
銆df = new CVectorDequeTest;
銆elapsed_time = 0;

銆for(i=0; i<NUMBER_OF_RUNS*xRun; i++)
銆{
銆銆cout << "Deque - Run " << i << " of " <<
銆銆NUMBER_OF_RUNS*xRun << "... ";
銆銆df->ReadTestFile("F:\\huge.csv",DF_DEQUE);
銆銆deque_data.push_back(datapoint());
銆銆deque_data.back().time_to_read = df->GetProcessTime();
銆銆elapsed_time += deque_data.back().time_to_read;
銆銆deque_data.back().elapsed_time = elapsed_time;
銆銆cout << deque_data.back().time_to_read << " seconds\n";
銆}
銆vnElements.push_back(df->GetDequeSize());
銆cout << "\n\nDeleting... ";
銆del_deque.Start();
銆delete df;
銆del_deque.Stop();
銆cout << del_deque.GetDuration()/1000000.0 << " seconds.\n\n";
銆vTimeToDelete.push_back(del_deque.GetDuration()/1000000.0);
}

銆銆緇撴灉

銆銆鏈祴璇曞拰涓婇潰涓や釜瀹為獙鍦ㄧ浉鍚岀殑騫沖彴涓婅繍琛岋紝闄や簡鎻掑叆鐨勬暟鎹敱>9874鍒?gt;691180錛岄渶瑕佹彃鍏?gt;70嬈★紝涓嬮潰鍥句緥鏄劇ず浜?gt;deque鍦ㄦ彃鍏ユ暟鎹殑鏃跺欏垎閰嶅唴瀛樼殑鎯呭喌錛屽湪deque閲屾彃鍏ヤ簡騫沖潎姣忎釜闀垮害涓?gt;1755.85鐨勫瓧絎︿覆銆?gt;


銆銆灝界浠庡嚑涓洸綰垮浘涓湅鍒扮殑瀹為檯娑堣楁椂闂翠笉鍚岋紝浣嗕簺鏇茬嚎鍥鵑兘綺劇‘鍒頒簡>R2=95.15%銆傛墍緇欑殑鏁版嵁鐐歸兘瀹為檯鑳岀浜嗕笅琛ㄤ腑緇熻鐨勬洸綰垮浘鏁版嵁:

deque Results

Mean

0.007089269 sec

Maximum

11.02838496 sec

Minimum

-15.25901667 sec

Std. Dev

3.3803636 sec

6-Sigma

20.2821816 sec

銆銆鍦ㄧ浉鍚岀殑鎯呭喌涓嬫瘮杈僾ector鐨勭粨鏋滄槸闈炲父鏈夋剰涔夌殑銆備笅闈㈠浘灝辨槸灝唙ector鍜宒eque鍦ㄧ浉鍚岀殑鎯呭喌涓嬪垎閰嶅唴瀛樻秷鑰楃殑鏃墮棿姣旇緝鍥撅細


銆銆榪欎簺鏁版嵁鍦ㄨ繖涓祴璇曚腑鏄?gt;R2=82.12%銆傝繖鎴栬鍙互緇忚繃姣忎釜鐐瑰弽澶嶈繍琛屽緱鍒版洿鍔犱紭鍖栵紝鍦ㄨ繖涓棶棰樹腑榪欎簺鏁版嵁閫傚綋鍦版爣娉ㄤ簡榪欎簺鐐癸紝鎵緇欑殑鏁版嵁鐐歸兘瀹為檯鑳岀浜嗕笅琛ㄤ腑緇熻鐨勬洸綰垮浘鏁版嵁:


vector Results

Mean

-0.007122715sec

Maximum

0.283452127 sec

Minimum

-0.26724459sec

Std. Dev

0.144572356sec

6-Sigma

0.867434136sec


瀹為獙鍥涒斺?vector::insert() 鍜?deque::insert() 鎵ц鐗圭偣姣旇緝

銆銆鐩殑

銆銆deque涓誨紶浣跨敤鍙傛暟涓哄父閲忕殑insert()銆備絾鎬庝箞鏍瘋兘鍜寁ector::insert()姣旇緝涓涓嬪憿錛熸湰瀹為獙鐨勭洰鐨勫氨鏄瘮杈冧竴涓媣ector::insert()> 鍜?deque::insert()鐨勫伐浣滅壒鐐廣?

銆銆鎻忚堪

銆銆鍦ㄥ鍣ㄧ殑瀹瑰櫒澶氭鎻掑叆鏁版嵁錛屽湪榪欓噷鍙兘涓嶇鍚堜綘鐨勯渶姹傦紝鏃㈢劧榪欐牱浣犲彲浠ヤ嬌鐢╥nsert()錛岃瘯楠屼唬鐮佷篃鍜屽疄楠屼竴鍩烘湰涓鏍鳳紝浣跨敤insert()浠f浛push_back()錛屼嬌鐢╥nsert(>)鏉ユ祴璇曘?br>
銆銆緇撴灉

銆銆褰撴彃鍏ュ父閲忕粰deque鐨勬椂鍊欙紝浠庝笅鍥懼彲浠ョ湅鍑哄拰vector鐨勫姣旀潵銆?br>

銆銆娉ㄦ剰涓ゅ紶鍥劇墖涓椂闂磋醬鐨勪笉鍚岋紝榪欐槸灝?gt;61810涓暟鎹彃鍏ュ埌瀹瑰櫒涓?br>

銆銆瀹為獙浜斺斺旇鍙栧鍣ㄧ殑鎬ц兘

銆銆鐩殑

銆銆榪欎釜瀹為獙灝嗘祴璇晇ector::at(),vector::operator[],deque::at()鍜宒eque::operator[]鐨勬ц兘銆傞鍏堝簲璇ユ槸operator[]姣攁t錛堬級鏁堢巼瑕侀珮錛屽洜涓哄畠涓嶈繘琛岃竟鐣屾鏌ワ紝鍚屾椂涔熸瘮杈僾ector鍜宒eque銆?br>
銆銆鎻忚堪

銆銆榪欎釜瀹為獙灝嗘祴璇曚腑鐨勫鍣ㄦ湁1000000涓被鍨嬩負std::string錛屾瘡涓瓧絎︿覆闀垮害涓?024鐨勬暟鎹紝鍒嗗埆浣跨敤at()鍜宱perator[]榪欎袱涓搷浣滄潵璁塊棶瀹瑰櫒瀹瑰櫒鐨勬暟鎹紝嫻嬭瘯瀹冧滑榪愯鐨勬椂闂達紝榪欎釜嫻嬭瘯鎵ц50嬈★紝緇熻姣忔鎵ц鐨勭粨鏋溿?br>
銆銆緇撴灉

銆銆鎴戜滑鐪嬪埌浣跨敤vector鍜宒eque璁塊棶瀹瑰櫒涓殑鏁版嵁錛屼粬浠墽琛岀殑鎬ц兘宸埆寰堝皬錛屼嬌鐢╫perator[]鍜宎t()璁塊棶鏁版嵁鐨勬ц兘宸埆鍑犱箮鍙互蹇界暐涓嶈錛屼笅闈㈡槸緇熻鐨勭粨鏋滐細


vector::at()

Mean

1.177088125sec

Maximum

1.189580000sec

Minimum

1.168340000sec

Std. Dev

0.006495193sec

6-Sigma

0.038971158sec

deque::at()

Mean

1.182364375sec

Maximum

1.226860000sec

Minimum

1.161270000sec

Std. Dev

0.016362148sec

6-Sigma

0.098172888sec

vector::operator[]

Mean

1.164221042sec

Maximum

1.192550000sec

Minimum

1.155690000sec

Std. Dev

0.007698520sec

6-Sigma

0.046191120sec

deque::operator[]

Mean

1.181507292sec

Maximum

1.218540000 sec

Minimum

1.162710000sec

Std. Dev

0.010275712sec

6-Sigma

0.061654272sec

銆銆緇撹

銆銆鍦ㄨ繖綃囨枃绔犱腑鎴戜滑瑕嗙洊浜嗗縐嶄笉鍚岀殑鎯呭喌鏉ラ夋嫨鎴戜滑鍒板簳鏄浣跨敤vector榪樻槸deque銆傝鎴戜滑鎬葷粨涓涓嬫祴璇曠殑緇撴灉鐪嬩笅闈㈠嚑涓粨璁恒?br>
銆銆褰撴墽琛屽ぇ鏁版嵁閲忕殑璋冪敤push_back()鐨勬椂鍊欙紝璁頒綇瑕佽皟鐢╲ector::reserve()銆?br>
銆銆鍦ㄥ疄楠屼竴涓垜浠爺絀朵簡vector鍜宒eque鍦ㄦ彃鍏ユ暟鎹殑鎯呭喌銆傞氳繃榪欎簺鍋囪錛屾垜浠彲浠ョ湅鍑篸eque鍒嗛厤鐨勭┖闂存槸棰勫厛鍒嗛厤濂界殑錛宒eque緇存寔涓涓浐瀹氬闀跨巼錛屽湪vector瀹為獙涓垜浠冭檻鍒板簲璇ヨ皟鐢╲ecor::reserve()>.鐒跺悗鍦ㄤ笅闈㈣繖涓緥瀛愰獙璇佷簡鎴戜滑鐨勫亣璁撅紝鍦ㄤ嬌鐢╲ector鐨勬椂鍊欒皟鐢╮eserve()鑳藉鑶瀛愭垜浠鍏堝垎閰嶇┖闂達紝榪欏皢鏄痸ector涓涓粯璁ら夋嫨鐨勬搷浣溿?br>
銆銆褰撲綘鍒嗛厤寰堝鍐呭瓨鍗曞厓鐨勬椂鍊欙紝璁頒綇浣跨敤deque鍥炴敹鍐呭瓨瑕佹瘮vector娑堣楁椂闂村銆?br>
銆銆鍦ㄥ疄楠屼笁涓垜浠帰璁ㄤ簡vector鍜宒eque鍦ㄥ洖鏀墮潪閭繪帴鍐呭瓨鍧椾笂鐨勪笉鍚岋紝鍒嗗埆璇佹槑浜唙ector鍦ㄥ垎閰嶅唴瀛樼殑鏃跺欐槸綰挎у闀匡紝鑰宒eque鏄寚鏁板闀匡紝鍚屾牱錛寁ector瑕佸洖鏀剁殑鍐呭瓨姣攄eque澶氱殑澶氾紝濡傛灉浣犲驚鐜皟鐢ㄤ簡push_back()錛岄偅涔坉eque灝嗚幏鍙栧ぇ閲忕殑鍐呭瓨錛岃屼笖鏄復榪戠殑銆傛垜浠氳繃嫻嬭瘯鍙戠幇鍦ㄥ垎閰嶅唴瀛樺崟鍏冩秷鑰楃殑鏃墮棿鍜寁ector鐨勬椂闂存帴榪戙?br>
銆銆濡傛灉浣犺鍒掍嬌鐢╥nsert()錛屾垨鑰呴渶瑕乸op_front()錛岄偅灝變嬌鐢╠eque銆?br>
銆銆鐢變簬vector娌℃湁鎻愪緵pop_front()鍑芥暟錛屼絾鍦ㄥ疄楠屽洓鐨勭粨鏋滀腑鍙互鐪嬪嚭娌℃湁insert()鏄潪甯稿ソ鐨勶紝鍚屾椂涔熷憡璇夋垜浠負浠涔坉eque鍦⊿TL綾諱腑瑕佷綔涓哄崟鐙殑涓涓被鍒掑垎鍑烘潵銆?br>
銆銆瀵逛簬璁塊棶鏁版嵁錛寁ector::at()鏁堢巼鏈楂樸?br>
銆銆鍦ㄥ疄楠屼簲涓粺璁$殑鏁版嵁琛ㄧず錛屾墍鏈夎闂暟鎹柟娉曠殑鏁堢巼鏄潪甯告帴榪戠殑錛屼絾鏄痸ector::at()鏁堢巼鏈楂樸傝繖鏄洜涓烘渶浼樼殑騫寵 鍥捐闂椂闂翠負鏈浣庣殑鍏釜瑗挎牸鐜涘箋?br>
銆銆鏈鍚?/strong>

銆銆鎴戝笇鏈涙湰鏂囪兘澶熷甫浣犺璇哾eque錛岃屼笖瀵瑰畠鎰熷叴瓚f垨鑰呬竴涓惎鍙戯紝嬈㈣繋緇х畫璁ㄨ鍏充簬vector鍜宒eque浠諱綍闂鍜屽唴瀹廣?

寰皹 2008-02-29 22:04 鍙戣〃璇勮
]]>
久久男人中文字幕资源站| 久久本道久久综合伊人| 久久久久久久久66精品片| 日产精品久久久久久久| 无码久久精品国产亚洲Av影片| 婷婷五月深深久久精品| 精品久久一区二区| 色婷婷综合久久久久中文字幕| 久久国产色av免费看| 91精品国产乱码久久久久久| 亚洲а∨天堂久久精品9966| 国产99精品久久| 久久影视综合亚洲| 久久香蕉综合色一综合色88| 囯产精品久久久久久久久蜜桃 | 一极黄色视频久久网站| 久久久久久人妻无码| 久久亚洲精品国产精品婷婷| 国产∨亚洲V天堂无码久久久| 久久久WWW成人免费精品| 久久狠狠高潮亚洲精品| 国产免费久久精品99re丫y| 热久久这里只有精品| 午夜人妻久久久久久久久| 久久国产美女免费观看精品| 99久久精品毛片免费播放| 久久精品国产久精国产果冻传媒| 国产精品成人99久久久久91gav | 熟妇人妻久久中文字幕| 婷婷久久综合九色综合绿巨人| 久久婷婷国产麻豆91天堂| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 久久精品无码一区二区三区| 国内精品人妻无码久久久影院导航| 国产高潮久久免费观看| 国产精品久久久久久福利漫画| 色综合久久久久久久久五月| 97久久国产露脸精品国产| 性色欲网站人妻丰满中文久久不卡| 久久精品国产99国产精品亚洲 | av无码久久久久久不卡网站|