锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产日韩久久久精品影院首页,久久亚洲私人国产精品vA,伊人久久大香线蕉综合影院首页 http://www.shnenglu.com/TianShiDeBaiGu/category/17203.html緇欐垜涓涓狤MACS錛屾垜涓嶉渶瑕佹搷浣滅郴緇?/description>zh-cnSat, 10 Nov 2012 21:28:14 GMTSat, 10 Nov 2012 21:28:14 GMT60甯哥敤綆楁硶.鎺掑簭綆楁硶:鍐掓場鎺掑簭錛屽揩閫熸帓搴忥紝褰掑茍鎺掑簭錛屾彃鍏ユ帓搴忥紝鍫嗘帓搴忥紝緇熻鎺掑簭銆傚瓧絎︿覆杞崲http://www.shnenglu.com/TianShiDeBaiGu/articles/149716.html浣曟竻榫?/dc:creator>浣曟竻榫?/author>Wed, 29 Jun 2011 02:34:00 GMThttp://www.shnenglu.com/TianShiDeBaiGu/articles/149716.htmlhttp://www.shnenglu.com/TianShiDeBaiGu/comments/149716.htmlhttp://www.shnenglu.com/TianShiDeBaiGu/articles/149716.html#Feedback0http://www.shnenglu.com/TianShiDeBaiGu/comments/commentRss/149716.htmlhttp://www.shnenglu.com/TianShiDeBaiGu/services/trackbacks/149716.html甯哥敤鎺掑簭綆楁硶錛氬啋娉℃帓搴忥紝蹇熸帓搴忥紝褰掑茍鎺掑簭錛屾彃鍏ユ帓搴忥紝鍫嗘帓搴忥紝緇熻鎺掑簭銆?br />
鍐掓場鎺掑簭浼唬鐮侊細(xì)
for i = [1,n)
   
for (j = i; j > 0 ; j--)
       
if(x[i] > x[j])   swap(i,j)
鎻掑叆鎺掑簭浼唬鐮侊細(xì)

for i = [1,n)
        
for (j = i; j > 0 && x[j-1> x[j]; j--)
                swap(j
-1,j)
鍘熺悊鏄紝鎯寵薄鑷繁鍦ㄦ懜鐗岋紝鐗屾斁鍦ㄦ瀛愪笂錛屾垜浠瘡鎷胯搗涓寮狅紝鍏堝皢榪欏紶鐗屾斁鍦ㄦ渶鍙寵竟錛岀劧鍚庝笌鎵嬮噷鐨勭墝浠庡彸鍒板乏鐨勬瘮杈冿紝涓嬈′竴嬈$殑鍚戝墠浜ゆ崲錛岀洿鍒板埌杈懼悎閫傜殑浣嶇疆銆?br />瀹炵敤C++浠g爜錛?br />
//insert_sort.cpp
template
<typename  RandomAccessIterator>
void insert_sort(RandomAccessIterator first,  RandomAccessIterator last)
{
    
if(first == last) return;
    
for(RandomAccessIterator i = first+1; i != last; ++i) //鎷胯搗妗屽瓙涓婄殑鐗岋紝浠巉irst+1寮濮嬫嬁鏄洜涓哄彧鏈変竴寮犵殑璇濓紝鏈韓灝辨湁搴忎簡銆?br />        linear_insert(first, i, value_type(first));       //緇欐嬁璧鋒潵鐨勭墝鎺掑簭錛屼粠鍙沖線宸︽彃鍏ャ?br />}

template
<typename  RandomAccessIterator>
inline 
void linear_insert(RandomAccessIterator first,  RandomAccessIterator last,
                                      T
* )
{
    T value 
= *last;
    
if(value < *first){                            //鏈鍙寵竟鐨勫兼瘮鏈宸﹁竟鐨勫艱繕瑕佸ぇ錛岄偅灝辨妸鏈鍙寵竟鐨勭墝鏀懼湪鏈鍓嶉潰錛屽洜姝ゅ叾浠栫殑鐗屼緷嬈″悜鍚庯紙鍙寵竟錛夌Щ鍔ㄣ?br />        std::copy_backward(first, last, first+1);  //鍏朵粬鐨勭墝渚濇鍚戝悗錛堝彸杈癸級縐誨姩錛屽皢絎竴涓綅緗暀緇欐柊鐗屻?br />        *first = value;                            //鎶婃柊鐨勭墝鏀懼湪絎竴涓綅緗?br />    }
    
else{
        unguarded_linear_insert(last, value);      //渚濇
綰挎х殑浠庡彸寰宸︽瘮杈冿紝璁╂柊鐗岃嚜宸卞幓鎵句釜鍚堥傜殑浣嶇疆銆?br />    }
}

template
<typename  RandomAccessIterator>
inline 
void unguarded_linear_insert(RandomAccessIterator last, T value)
{
    RandomAccessIterator next 
= last;
    
--next;
    
while(value < *next){ //涓涓竴涓殑鏉ユ瘮杈冿紝濡傛灉鏂扮墝姣旇緝澶э紝灝卞拰鑰佺殑鐗屾崲涓涓嬩綅緗?br />        *last = *next;
        last 
= next;
        
--next;
    }
    
*last = value;
    
/*
    //Or we can make it like this:
    RandomAccessIterator position = find(last, first, less_than(*last));
    swap(value, copy(position, last,position+1) );
    
*/
}


蹇熸帓搴忎吉浠g爜錛?br />
void qsort(lower, uper)
    
if lower >= uper then
        
return
    middle 
= lower
    
for i = [lower+1, uper]
          
if x[i] < x[l]   then
              swap(
++middle, i)
          swap(lower, middle)
          qsort(lower, middle
-1)
          qsort(middle
+1, uper)


瀹為檯浠g爜錛屼箣鍚庨噸鏂板畾鍒朵簡榪欎釜綆楁硶錛屼嬌鐢ㄥ弻杈瑰揩鎺掞細(xì)
#include <iostream>
#include 
<bits/stl_iterator_base_types.h>
#include 
<algorithm>
template
<typename  RandomAccessIterator>
void qsort(RandomAccessIterator first, RandomAccessIterator last){
    
if( first == last ) return;
    typename std::iterator_traits
<RandomAccessIterator>::value_type tmp = *first;// *(last - 1); 
    RandomAccessIterator left = first;
    RandomAccessIterator right 
= last;
    
while(true){
        
while(*left < tmp) ++left;
        
--right;
        
while(*right > tmp) --right;
        
if(right - left < 1break;
        std::swap(
*left, *right);//iter_swap(leftm, right);
        ++left; 
    }
    
//std::swap(*first,*right); 榪欎釜浜ゆ崲鍙互鎹㈠緱姣旇緝紼沖畾鐨勬椂闂村鏉傚害錛屼絾鏄湁浜涙儏鍐典笅錛屾晥鐜囨病鏈夊幓鎺夋琛岄珮
    qsort(first, left);
    qsort(right
+1, last);
}
int main(){
    
int x[10= {5,6,8,4,9,1,3,7,6,33};
    
for(int i = 0; i < 9999999++i)
           std::sort(x,x
+10); //use time  2.272s
    
//qsort(x,x+10); //use time 4.072s
    std::for_each(x, x+10, [](int tmp){
            std::cout
<<tmp<<" ";
        });
    
return 0;
}

//紼嬪簭鐨勬墽琛屾椂闂村湪linux涓嬬殑嫻嬭瘯鏂瑰紡鏄痶ime a.out


涓涓錛屽啓涓涓嚱鏁板皢絎竴涓弬鏁版墍鏈夌殑灝忓啓瀛楁瘝杞崲鎴愬ぇ鍐欏瓧姣嶏紝緇撴灉鏀懼湪絎簩涓弬鏁伴噷闈€傚嚱鏁板師鍨嬩負(fù)void transfer_up(const char *first, char *second);
 
杈撳叆闄愬埗涓篴-zA-Z 
//鍗曚釜瀛楃灝忓啓杞崲涓哄ぇ鍐?/font> 
char  toupper( char  c){
       return  c  &   0x5F ;
}
//鍗曚釜瀛楃澶у啓杞崲涓哄皬鍐?/font> 
char  tolower( char  c) {
       // c | 0x60涔熻,浣嗕笉澶ソ,鍥犱負(fù)0x60浼?xì)鏀瑰彉缁撴灉鐨劷W?浣嶅?鏍規(guī)嵁棰樼洰鎰忔?鏀瑰彉絎?浣嶅間負(fù)1,鑰屽叾瀹冧綅淇濇寔涓嶅彉灝卞浜嗐?/span>
      return  c  |   0x20 ;
}

瀹屽叏鏂規(guī)
void transfer_up(const char *first, char *second){
        if(*first == '\0' || first == (char*)0 ){
               second = 0;
               return;
        }

        do{
               if(*first > 'a' && *first < 'z')
                        *second++ = (*first) &0x5F;        //鎴栬卻tatic int delta = 'A' - 'a'; *second++ = *first + delta;      
        }while(*錛?+first錛?!= '\0');
        *second = '\0';
}
閭d箞澶у啓杞皬鍐欎篃鏄悓鏍風(fēng)殑閬撶悊浜嗐備笉榪囨槸鍚?x20姹備笌銆?br />


]]>
綆楁硶鎶宸э紝鐜覆鐨?涓棆杞畻娉曞姣旓細(xì)http://www.shnenglu.com/TianShiDeBaiGu/articles/149632.html浣曟竻榫?/dc:creator>浣曟竻榫?/author>Tue, 28 Jun 2011 01:03:00 GMThttp://www.shnenglu.com/TianShiDeBaiGu/articles/149632.htmlhttp://www.shnenglu.com/TianShiDeBaiGu/comments/149632.htmlhttp://www.shnenglu.com/TianShiDeBaiGu/articles/149632.html#Feedback0http://www.shnenglu.com/TianShiDeBaiGu/comments/commentRss/149632.htmlhttp://www.shnenglu.com/TianShiDeBaiGu/services/trackbacks/149632.html闂錛氬皢涓涓猲鍏冧竴緇村悜閲忓悜宸︽棆杞琲涓綅緗備緥濡傦紝褰搉=8,涓攊 =3鏃訛紝鍚戦噺abcdefgh鏃嬭漿涓篸efghabc.綆鍗曠殑浠g爜浣跨敤涓涓猲鍏冨悜閲忓湪n姝ュ唴瀹屾垚璇ュ伐浣溿?br /> 浣犺兘鍚︿粎浠呬嬌鐢ㄦ暟鍗佷釜棰濆瀛楄妭鐨勫瓨鍌ㄧ┖闂達(dá)紝鍦ㄦ姝f瘮浜巒鐨勬椂闂村唴瀹屾垚鍚戦噺鐨勬棆杞紵

鏂規(guī)1錛?/font>棣栧厛灝唍鐨勫墠i涓暟緇勫鍒跺埌涓涓復(fù)鏃舵暟緇勪腑錛岀劧鍚庡皢鍓╀綑涓嬬殑n-i涓厓绱犲悜宸︾Щ鍔╥涓綅緗紝鏈鍚庡皢鏈鍒濈殑i涓厓绱犲瓨鍌ㄥ湪涓存椂鏁扮粍涓殑鍐呭澶嶅埗鍒皀涓綑涓嬬殑浣嶇疆銆?br /> 榪欎釜鏂規(guī)浜х敓榪囧ぇ鐨勫瓨鍌ㄧ┖闂存秷鑰椼?/span>

鏂規(guī)2錛?/font>瀹氫箟涓涓嚱鏁板皢n鍚戝乏鏃嬭漿涓涓綅緗紝鐒跺悗璋冪敤璇ュ嚱鏁癷嬈°?br /> 璇ユ柟娉曚駭鐢熻繃澶氱殑鏃墮棿娑堣?/span>

鏂規(guī)3錛?/font>灝嗛棶棰樼湅浣滄槸浜ゆ崲鍚戦噺AB鐨勪袱孌碉紝寰楀埌鍚戦噺BA銆傝繖閲孉浠h〃n涓殑鍓峣涓厓绱?鍋囪A姣擝鐭紝灝咮鍒嗕負(fù)Bl鍜孊r,浣垮緱Br鍏鋒湁鍜孉鐩稿悓鐨勯暱搴?浜ゆ崲A錛孊r錛屽緱鍒癇rBlA錛孉鏀懼埌浜嗕粬闇瑕佺殑鏈緇堜綅緗?br /> 鎺ヤ笅鏉ュ皢BrBl鐪嬩綔鏁翠綋,閲囩敤鍚屾牱鐨勫艦寮忥紝浜ゆ崲Br鍒癇l鍚庨潰錛岄掑綊瑙e喅
璇ユ柟妗堥潪甯鎬紭闆咃紝鏁堢巼涔熻凍澶熼珮銆備笉榪囬渶瑕佷綔鑰呭叿鏈夎緝濂界殑緙栫爜鑳藉姏

鏂規(guī)4錛?/font>灝嗛棶棰樼湅浣滄槸鎶婃暟緇凙B杞崲鎴怋A,鍚屾椂鍋囧畾鎴戜滑鎷ユ湁涓涓嚱鏁板彲浠ュ皢鏁扮粍涓殑鐗瑰畾閮ㄥ垎鐨勫厓绱犳眰閫嗐?br /> 浠嶢B寮濮?------>瀵笰姹傞嗗緱鍒癆rB
abc | defgh-----------> cba | defgh

瀵笲姹傞?------->ArBr
cba | defgh---------->cba | hgfed

瀵硅寮忓瓙鏁翠綋姹傞?----------->(ArBr)r==BA
cba | hgfed---------->cbahgfed -----------> cbah | gfed---姹傞?-->defghabc (榪欏氨鏄垜浠鐨勭粨鏋?

鏈緇堝緱鍒癇A.
defghabc

浜庢槸鎴戜滑寰楀埌浜嗗涓嬩唬鐮?
reverse(0,i-1); /*閫嗚漿A*/
reverse(i
-1,n-1);/*閫嗚漿B*/
reverse(
0,n-1);/*閫嗚漿ArBr*/
鏃墮棿鍜岀┖闂翠笂閮藉緢楂樻晥錛屼唬鐮佺畝鐭紭闆咃紝涓嶆槗鍑洪敊錛堝己澹ч珮錛?/span>

]]>
97精品久久天干天天天按摩| 91精品国产综合久久四虎久久无码一级| 国产视频久久| 亚洲欧美日韩精品久久亚洲区 | 亚洲国产精品久久久久婷婷老年| 国产精品gz久久久| 久久天天躁夜夜躁狠狠 | 久久WWW免费人成—看片| 无码任你躁久久久久久久| 一本色综合网久久| 狠狠精品久久久无码中文字幕| 一本一道久久a久久精品综合| 精品无码久久久久久午夜| 久久这里只有精品视频99| 人妻丰满AV无码久久不卡| 久久久久亚洲AV无码专区桃色| 亚洲av伊人久久综合密臀性色| 日韩精品国产自在久久现线拍| 久久乐国产综合亚洲精品| 久久久久久综合一区中文字幕| 97视频久久久| 久久夜色精品国产www| 久久精品成人免费网站| 思思久久99热只有频精品66| 国产成人无码精品久久久久免费| 亚洲国产精品高清久久久| 欧美午夜A∨大片久久 | 久久99国产精品成人欧美| 久久久噜噜噜www成人网| 久久人妻AV中文字幕| 亚洲国产精品无码久久久久久曰| 一本久久a久久精品综合夜夜| 久久无码人妻一区二区三区| 久久人人爽人人爽人人爽 | 久久久久久一区国产精品| 国产精品毛片久久久久久久| 丁香色欲久久久久久综合网| 国产色综合久久无码有码| 久久精品综合网| 久久久国产精华液| 午夜天堂av天堂久久久|