锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品99久久久久久宅男,色噜噜狠狠先锋影音久久,伊人久久综合无码成人网http://m.shnenglu.com/mysileng/category/20265.htmlzh-cnSun, 02 Jun 2013 18:24:50 GMTSun, 02 Jun 2013 18:24:50 GMT60STL 涓璼ort婧愮爜鍒嗘瀽http://m.shnenglu.com/mysileng/archive/2013/06/01/200744.html閼緳閼緳Sat, 01 Jun 2013 10:53:00 GMThttp://m.shnenglu.com/mysileng/archive/2013/06/01/200744.htmlhttp://m.shnenglu.com/mysileng/comments/200744.htmlhttp://m.shnenglu.com/mysileng/archive/2013/06/01/200744.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/200744.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/200744.html杞嚜:http://blog.csdn.net/superhackerzhang/article/details/6410670 

浠GI鐨凷TL涓轟緥

 

sort鏈変袱縐嶉噸杞藉艦寮?/p>

 

template <class RandomAccessIterator>

void sort(RandomAccessIterator first, RandomAccessIterator last);  
template <class RandomAccessIterator, class StrictWeakOrdering>
void sort(RandomAccessIterator first, RandomAccessIterator last,StrictWeakOrdering comp);
榪欎袱縐嶅艦寮忛兘瑕佹眰褰㈤殢鏈鴻闂凱浠e櫒錛屽洜姝ゅ彧鑳界敤浜庡鍣╲ector鎴杁eque,榪欓噷鎴戜滑鍙互絎竴縐嶄負渚嬭繘琛岃瑙?/pre>
鍦ㄦ暟鎹噺澶ф椂錛岄噰鐢≦uick Sort錛屽垎孌甸掑綊鎺掑簭錛屼竴鏃﹀垎孌靛悗鐨勬暟鎹噺灝忎簬闂ㄩ檺鍊兼椂錛屼負閬垮厤閫掑綊鐨勯澶栧紑閿錛屼究閲囩敤Insertion sort銆?span style="font-size: 14.44444465637207px; line-height: 25.981481552124023px; "> 
濡傛灉閫掑綊鐨勫眰嬈¤繃娣憋紝榪樹細浣跨敤Heap Sort.
瀵逛簬浠ヤ笅鐨勪互__寮澶寸殑鍛藉悕鍑芥暟錛岃〃紺哄叾涓鴻鍐呴儴鐨勫叾瀹冨嚱鏁拌皟鐢紝鑰屼笉鑳借鐢ㄦ埛鐩存帴璋冪敤銆?/pre>
棣栧厛鏉ョ湅鎻掑叆鎺掑簭
template <class _RandomAccessIter> 
void __insertion_sort(_RandomAccessIter __first, _RandomAccessIter __last) {   
if (__first == __last) return;    
for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i)     
__linear_insert(__first, __i, __VALUE_TYPE(__first)); }
鍏舵墍璋冪敤鐨?__linear_insert濡備笅紺猴細
template <class _RandomAccessIter, class _Tp>
inline void __linear_insert(_RandomAccessIter __first, 
                            _RandomAccessIter __last, _Tp*) {
  _Tp __val = *__last;
  if (__val < *__first) {
    copy_backward(__first, __last, __last + 1);
    *__first = __val;
  }else
    __unguarded_linear_insert(__last, __val);
}
榪欓噷闇瑕佸鍏惰繘琛屼竴涓嬭鏄庯紝閫氬父鎯呭喌涓嬪湪榪涜鎻掑叆鎺掑簭鏃訛紝鏃㈣榪涜澶у皬鐨勬瘮杈冿紝鍙堣瀵硅竟鐣岃繘琛屾帶鍒訛紝緇忚繃涓婇潰鐨勬敼榪涘悗錛屼絾鍙渶瑕佽繘琛屽ぇ灝忕殑姣旇緝渚垮彲錛岃繖灝辨槸浠g爜鐨勯珮鏄庤繖澶勩?/span>
棣栧厛瀵硅鎻掑叆鏈夊簭閮ㄥ垎鐨勫厓绱燺_val涓庨槦棣栫殑鏈灝忓厓绱?*__first榪涜姣旇緝錛屽鏋淿_val < *__first錛屽垯鍙猒_first涓?__last涔嬮棿鐨勫厓绱犲悜鍚庣Щ涓涓?/span>浣嶇疆錛岀劧鍚庡皢__val鎻掑叆闃熼銆?/span>
濡傛灉__val >= *__first錛屽垯璇存槑__val鍦ㄥ皢瑕佹柊鐢熸垚鐨勬湁搴忛槦鍒椾腑涓嶆槸鏈灝忥紝鍥犳錛屽湪涓嬮潰鐨剋hile涓笉鐢ㄨ繘琛岀晫闄愭帶鍒訛紝鍙瘮杈冨厓绱犵殑澶у皬鍗沖彲銆?/span>
template <class _RandomAccessIter, class _Tp> 
void __unguarded_linear_insert(_RandomAccessIter __last, _Tp __val) {
_RandomAccessIter __next = __last;
--__next;
while (__val < *__next) {
*__last = *__next;
__last = __next;
--__next;
}
*__last = __val;
}
鍦⊿TL涓閬垮厤蹇帓鏃舵瘡嬈¢兘閫夋嫨鏈灝忔垨鏈澶х殑鍏冪礌鍋氳醬錛屼嬌鐢ㄤ互涓嬪嚱鏁伴夋嫨涓涓笁鐐逛腑鍊箋?/pre>
template <class _Tp> 
inline const _Tp& __median(const _Tp& __a, const _Tp& __b, const _Tp& __c) {
__STL_REQUIRES(_Tp, _LessThanComparable);
if (__a < __b)
if (__b < __c) return __b;
else if (__a < __c) return __c;
else return __a;
else if (__a < __c) return __a;
else if (__b < __c) return __c;
else return __b;
}
涓嬮潰鏄揩鎺掍腑鎵瑕佷嬌鐢ㄧ殑鍒嗗壊鍑芥暟銆傚[first,last)鍖洪棿鐨勫厓绱犺繘琛屽垎鍓詫紝浣跨敤寰椾腑杞村彸杈圭殑鍏冪礌澶т簬絳変簬涓醬錛屽乏杈圭殑鍏冪礌灝忎簬絳変簬涓醬錛?span style="font-size: 14.44444465637207px; line-height: 25.981481552124023px; ">騫惰繑鍥炰腑杞存墍鍦ㄤ綅緗?/span>
template <class _RandomAccessIter, class _Tp> 
_RandomAccessIter __unguarded_partition(_RandomAccessIter __first,_RandomAccessIter __last,_Tp __pivot) {
while (true) {
while (*__first < __pivot) ++__first;
--__last;
while (__pivot < *__last) --__last;
if (!(__first < __last))
return __first;
iter_swap(__first, __last);
++__first;
}
}
sort 浠g爜濡備笅
template <class _RandomAccessIter> 
inline void sort(_RandomAccessIter __first, _RandomAccessIter __last) {
if (__first != __last) {
__introsort_loop(__first, __last,
__VALUE_TYPE(__first),
__lg(__last - __first) * 2);
__final_insertion_sort(__first, __last);
}
}
鍩轟腑__lg(n)鐢ㄦ潵鎵懼嚭2^k<=n鐨勬渶澶鍊鹼紝鐢ㄤ互鎺ф帶鍒墮掑綊鐨勬繁搴︺?/pre>
template <class _Size> 
inline _Size __lg(_Size __n) {
_Size __k;
for (__k = 0; __n != 1; __n >>= 1) ++__k;
return __k;
}
涓嬮潰鐨勬槸鐢ㄦ潵瀵瑰尯闂翠嬌鐢ㄥ揩鎺掞紝浠ヨ揪鍒伴儴鍒嗘湁搴忕姸鎬併?/pre> 
template <class _RandomAccessIter, class _Tp, class _Size> 
void __introsort_loop(_RandomAccessIter __first,
_RandomAccessIter __last, _Tp*,
_Size __depth_limit) {
while (__last - __first > __stl_threshold) {//__stl_threshold鍦ㄨ繖閲岀敤鍓嶉潰瀹氫箟鐨勫父閲?6錛屽綋鍖洪棿澶氫簬16涓厓绱犳椂錛屾墠鏈夊繀瑕佷嬌鐢ㄥ揩鎺掋?br /> if (__depth_limit == 0) {//褰撻掑綊鐨勫眰嬈¤繃娣辨椂錛屼嬌鐢ㄥ爢鎺掑簭銆?
partial_sort(__first, __last, __last);
return;
}
--__depth_limit;
_RandomAccessIter __cut = __unguarded_partition(__first, __last,
_Tp(__median(*__first,
*(__first + (__last - __first)/2),
*(__last - 1))));//浣跨敤鍒嗗壊鍑芥暟錛屽弽鍥炰腑杞?
__introsort_loop(__cut, __last, (_Tp*) 0, __depth_limit);//瀵瑰彸鍗婇儴鍒嗚繘琛岄掑綊鎺掑簭
__last = __cut;//浣垮熬鎸囬拡鎸囧悜涓醬錛屽嵆瑕佸宸﹀崐閮ㄥ垎鎺掑簭
}
}
鏈鍚庝嬌鐢ㄦ彃鍏ユ帓搴忓鍚勯儴鍒嗚繘琛屾帓搴忋?/pre> 
template <class _RandomAccessIter> 
void __final_insertion_sort(_RandomAccessIter __first,
_RandomAccessIter __last) {
if (__last - __first > __stl_threshold) {
__insertion_sort(__first, __first + __stl_threshold);
__unguarded_insertion_sort(__first + __stl_threshold, __last);
} else __insertion_sort(__first, __last);
}
浜涘嚱鏁板厛鍒ゆ柇鍏冪礌涓暟鏄惁澶т簬16錛屽鏄ぇ浜庯紝鍒欏厛鐢╛_insertion_sort()瀵?6涓厓绱犵殑瀛愬簭鍒楁帓搴忥紝鍐嶇敤__unguarded_insertion_sort()瀵?/pre>
鍏朵綑鐨勬帓搴忋傚惁鍒欑洿鎺ョ敤__insertion_sort()鎺掑簭銆?/pre> 
template <class _RandomAccessIter> 
inline void __unguarded_insertion_sort(_RandomAccessIter __first,
_RandomAccessIter __last) {
__unguarded_insertion_sort_aux(__first, __last, __VALUE_TYPE(__first));
}

template <class _RandomAccessIter, class _Tp, class _Compare>
void __unguarded_insertion_sort_aux(_RandomAccessIter __first,
_RandomAccessIter __last,
_Tp*, _Compare __comp) {
for (_RandomAccessIter __i = __first; __i != __last; ++__i)
__unguarded_linear_insert(__i, _Tp(*__i), __comp);
}
template <class _RandomAccessIter, class _Tp> 
void __unguarded_linear_insert(_RandomAccessIter __last, _Tp __val) {
_RandomAccessIter __next = __last;
--__next;
while (__val < *__next) {
*__last = *__next;
__last = __next;
--__next;
}
*__last = __val;
}
ps:涓漢鎰熻__final_insertion_sort()涓尯鍒嗗尯闂村ぇ灝忔槸澶氭涓涓撅紝鍥犱負鏈緇堝叾璋冪敤鐨勯兘鏄痏_unguarded_linear_insert()錛屽叾騫舵病鐢ㄩ拡瀵逛笉
鍚岀殑澶у皬鍖洪棿閲囩敤鏄庢樉涓嶇敤鐨勭畻娉曘?/pre>


閼緳 2013-06-01 18:53 鍙戣〃璇勮
]]>STL涓璵em_fun鍜宮em_fun_ref鐨勭敤娉曞強鍖哄埆(杞?http://m.shnenglu.com/mysileng/archive/2012/12/25/196615.html閼緳閼緳Tue, 25 Dec 2012 09:06:00 GMThttp://m.shnenglu.com/mysileng/archive/2012/12/25/196615.htmlhttp://m.shnenglu.com/mysileng/comments/196615.htmlhttp://m.shnenglu.com/mysileng/archive/2012/12/25/196615.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196615.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196615.html寮曞瓙:

鎬庝箞瀵瑰鍣ㄤ腑鐨勬墍鏈夊璞¢兘榪涜鍚屼竴涓搷浣滐紵鎴戜滑鍙兘棣栧厛鎯沖埌鐨勬槸鐢ㄥ驚鐜潵瀹炵幇銆?br />姣斿鏈夊涓嬬殑涓涓被錛?/p>

class ClxECS{
public:
    int DoSomething() { 
    cout << "Output from method DoSomething!" << endl; // 榪欓噷浠ヨ緭鍑轟竴鍙ヨ瘽鏉ヤ唬鏇垮叿浣撶殑鎿嶄綔
    return 0;
    };
};


鐜板湪瀹氫箟濡備笅涓涓獀ector錛?/p>

vector<ClxECS*> vECS;

for(int i = 0; i < 13; i++){
    ClxECS *pECS = new ClxECS;
    vECS.push_back(pECS);
}


 濡傛灉瑕佸瀹瑰櫒vECS涓殑鎵鏈夊璞¢兘榪涜DoSomething()鐨勬搷浣滐紝閭d箞涓嬮潰鐨勫驚鐜彲鑳芥槸棣栧厛鎯沖埌鐨勬柟妗堬細

for(int i = 0; i < vECS.size(); i++)
    vECS.at(i)->DoSomething();
   

 褰撶劧錛屾垜浠篃鍙互鐢╥terator錛?/p>

for(vector<ClxECS*>::iterator it = vECS.begin(); it != vECS.end(); ++it)
    (*it)->DoSomething();


 浣嗘槸錛屾湁寰堝C++鐨勯珮鎵嬪拰鐗涗漢浠兘浼氱粰鎴戜滑涓涓繝鍛婏紝閭e氨鏄細鍦ㄥ鐞哠TL閲岄潰鐨勫鍣ㄧ殑鏃跺欙紝灝介噺涓嶈鑷繁鍐欏驚鐜?br />閭d箞錛屾垜浠氨鍙ソ鐢⊿TL綆楁硶閲岄潰鐨刦or_each浜嗐?br />棣栧厛錛屾坊鍔犲涓嬩竴涓嚱鏁幫細

int DoSomething(ClxECS *pECS)
{
    return pECS->DoSomething();
}
鐒跺悗灝卞彲浠ョ敤for_each鏉ュ疄鐜版垜浠兂瑕佺殑鍔熻兘錛?/p>

for_each(vECS.begin(), vECS.end(), &DoSomething);
璇翠簡鍗婂ぉ錛屼技涔庤窡mem_fun鍜宮em_fun_ref娌℃湁浠涔堝叧緋匯傚叾瀹烇紝璇撮偅涔堝閮芥槸涓轟簡寮曞嚭mem_fun鍜宮em_fun_ref銆傚湪鐢╢or_each鐨勬椂鍊欙紝濡傛灉鎴戜滑涓嶆坊鍔犱笂闈㈢殑閭d釜鍑芥暟錛岃鎬庝箞鍔炲憿錛?/p>


榪欎釜鏃跺欏氨璇em_fun鍜宮em_fun_ref闅嗛噸鐧誨満浜嗐傜敤濡備笅榪欎竴琛屼唬鐮佸氨琛屼簡錛?/p>

for_each(vECS.begin(), vECS.end(), mem_fun(&ClxECS::DoSomething));
瀹為檯涓婂氨鏄敱榪唬鍣ㄥ幓璋冪敤鎴愬憳鍑芥暟.

 

渚嬪瓙:

list<Widget *> lpw;
for_each(lpw.begin(), lpw.end(),mem_fun(&Widget::test)); // pw->test();

浜?/p>

vector<Widget> vw;
for_each(vw.begin(), vw.end(),mem_fun_ref(&Widget::test)); // w.test();

涓?/p>

鎴愬憳鍑芥暟鏈夊弬鏁扮殑鎯呭喌錛氬皢鍊間紶鍏ワ紝鍐峛ind1st涓簍his

std::for_each(m_erased.begin(), m_erased.end(),std::bind1st(std::mem_fun(&SocketSet::_replace_with_last), this));
//鐩稿綋浜巘his->_replace_with_last(iter)  //iter

涓よ呭尯鍒?
mem_fun_ref鐨勪綔鐢ㄥ拰鐢ㄦ硶璺焟em_fun涓鏍鳳紝鍞竴鐨勪笉鍚屽氨鏄細

褰撳鍣ㄤ腑瀛樻斁鐨勬槸瀵硅薄瀹炰綋鐨勬椂鍊欑敤mem_fun_ref錛?/strong>

褰撳鍣ㄤ腑瀛樻斁鐨勬槸瀵硅薄鐨勬寚閽堢殑鏃跺欑敤mem_fun銆?br />



閼緳 2012-12-25 17:06 鍙戣〃璇勮
]]>
榪唬鍣ㄧ壒鎬?iterator_traits) (杞?http://m.shnenglu.com/mysileng/archive/2012/12/24/196580.html閼緳閼緳Mon, 24 Dec 2012 13:38:00 GMThttp://m.shnenglu.com/mysileng/archive/2012/12/24/196580.htmlhttp://m.shnenglu.com/mysileng/comments/196580.htmlhttp://m.shnenglu.com/mysileng/archive/2012/12/24/196580.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196580.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196580.html闃呰鍏ㄦ枃

閼緳 2012-12-24 21:38 鍙戣〃璇勮
]]>
c++鏍囧噯紼嬪簭搴?---p258----vector榪唬鍣ㄧ殑閫掑鍜岄掑噺瑙f瀽http://m.shnenglu.com/mysileng/archive/2012/12/23/196551.html閼緳閼緳Sun, 23 Dec 2012 14:18:00 GMThttp://m.shnenglu.com/mysileng/archive/2012/12/23/196551.htmlhttp://m.shnenglu.com/mysileng/comments/196551.htmlhttp://m.shnenglu.com/mysileng/archive/2012/12/23/196551.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196551.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196551.html
vector<int> coll;
.....
sort(++coll.begin(),coll.end());
    瀵逛簬sort閭e彞錛屽鏋渧ecotor鐨勫簳灞傛槸鐢ㄦ寚閽堝疄鐜幫紙閫氬父灝辨槸鐢ㄦ寚閽堝疄鐜幫級錛岄偅涔堢紪璇戞棤娉曢氳繃銆?br />   
    鍏跺疄姝ゆ闂璇ョ郴鍒椾笂涓嬈℃枃绔犵被浼?lt;<c++鏍囧噯紼嬪簭搴?---p55----涓轟粈涔堥渶瑕乤uto_ptr_ref? (杞?>>,閮芥槸涓存椂瀵硅薄鎯圭殑紲搞?br />   c++涓嶅厑璁鎬換浣曚慨鏀瑰熀鏈被鍨?鍖呮嫭鎸囬拡)涓存椂鍊肩殑琛屼負錛屼絾瀵逛簬綾葷被鍨嬪垯鍏佽銆傛庝箞鐞嗚В鍛紵涓句釜渚嬪瓙:
#include <iostream>
using namespace std;
 
 
class node
{
 
public:
    node(int j = 0):i(j){}
    int i;
    void operator++()//榪欓噷閲嶅畾涔変竴涓祴鍊兼搷浣滅=,涓轟笅闈㈢殑璧嬪煎仛鍑嗗銆?/span>
    {
        i++;
    }
};
 
node fun()                          
{
    node temp(1);
    return temp;//榪欓噷榪斿洖涓涓被鐨勪復鏃跺彉閲?/span>
}
 
int* fun2()
{
    int a =1;
    int* b = &a;  //榪欓噷榪斿洖瀛樺湪鏍堜腑灞閮ㄥ彉閲忕殑鍦板潃鏄笉瀵圭殑錛屼絾鍙槸鍋氬疄楠岋紒 
    return b;//榪欓噷榪斿洖涓涓櫘閫歩nt涓存椂鍙橀噺
 
}
int main()
{
    ++fun();   // ok!
    ++fun2(); //榪欏彞鏃犳硶閫氳繃緙栬瘧 
    system("pause");
 
}
    涓婇潰鐨勪緥瀛恌un()榪斿洖綾葷被鍨嬬殑涓存椂鍙橀噺鍙互琚慨鏀癸紝浣唂un2()榪斿洖鐨勬寚閽堢殑涓存椂鍙橀噺涓嶈兘琚慨鏀廣?br />    鍥炲埌寮濮嬬殑渚嬪瓙,鍥犱負vector鐨勮凱浠e櫒搴曞眰鏄敤鎸囬拡瀹炵幇錛屾墍浠egin()鍑芥暟榪斿洖鐨勬槸涓涓寚閽堢被鍨嬬殑涓存椂鍙橀噺錛屽鏋滅敤++鎿嶄綔鍘諱慨鏀癸紝閭e氨榪濆弽浜哻++鐨勮璁″師鍒欙紝鎵浠ユ棤娉曠紪璇戦氳繃銆傚仛鍒板簳榪樻槸宸﹀間笉鑳借淇敼!!!

閼緳 2012-12-23 22:18 鍙戣〃璇勮
]]>
c++鏍囧噯紼嬪簭搴?---p55----涓轟粈涔堥渶瑕乤uto_ptr_ref? (杞?http://m.shnenglu.com/mysileng/archive/2012/12/16/196353.html閼緳閼緳Sun, 16 Dec 2012 08:06:00 GMThttp://m.shnenglu.com/mysileng/archive/2012/12/16/196353.htmlhttp://m.shnenglu.com/mysileng/comments/196353.htmlhttp://m.shnenglu.com/mysileng/archive/2012/12/16/196353.html#Feedback0http://m.shnenglu.com/mysileng/comments/commentRss/196353.htmlhttp://m.shnenglu.com/mysileng/services/trackbacks/196353.html闃呰鍏ㄦ枃

閼緳 2012-12-16 16:06 鍙戣〃璇勮
]]>
99久久婷婷国产一区二区| 久久热这里只有精品在线观看| 久久精品国产亚洲av麻豆色欲| 中文字幕日本人妻久久久免费 | 久久97久久97精品免视看| 久久综合久久久| 亚洲国产精品无码久久久久久曰| 麻豆精品久久久久久久99蜜桃| 精品无码久久久久国产| 日日狠狠久久偷偷色综合0| 亚洲精品无码久久久影院相关影片| 欧美777精品久久久久网| 婷婷久久五月天| 99久久99久久精品国产片| 热99RE久久精品这里都是精品免费| 99久久成人国产精品免费| 久久久久国产精品嫩草影院| 久久国产精品99精品国产987| 精品国产日韩久久亚洲| 伊人色综合久久天天| 欧美丰满熟妇BBB久久久| 婷婷久久综合| 久久无码国产| 国产亚洲美女精品久久久| 99久久这里只有精品| 无码超乳爆乳中文字幕久久 | 久久狠狠爱亚洲综合影院| 国产精品无码久久四虎| 国内精品久久国产大陆| 狠狠色综合网站久久久久久久高清 | 久久99精品国产99久久| 97久久国产综合精品女不卡 | 无码AV波多野结衣久久| 精品国产乱码久久久久软件| 亚洲国产精品综合久久网络| 久久久综合香蕉尹人综合网| 97精品国产97久久久久久免费| 国产一久久香蕉国产线看观看| 久久99国产精品尤物| 国产精品禁18久久久夂久| AV色综合久久天堂AV色综合在|