锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品一久久香蕉国产线看观看,91久久精品电影,久久精品国产欧美日韩http://www.shnenglu.com/zytoftuncun/category/3513.htmlzh-cnMon, 19 May 2008 21:24:02 GMTMon, 19 May 2008 21:24:02 GMT60CodeGuru浠g爜闃呰(涓)http://www.shnenglu.com/zytoftuncun/archive/2007/07/22/28566.htmlAIBPXTSHMFAIBPXTSHMFSun, 22 Jul 2007 04:27:00 GMThttp://www.shnenglu.com/zytoftuncun/archive/2007/07/22/28566.htmlhttp://www.shnenglu.com/zytoftuncun/comments/28566.htmlhttp://www.shnenglu.com/zytoftuncun/archive/2007/07/22/28566.html#Feedback0http://www.shnenglu.com/zytoftuncun/comments/commentRss/28566.htmlhttp://www.shnenglu.com/zytoftuncun/services/trackbacks/28566.html   鏈枃綆鍗曠畝浠嬩簩鍙夋爲(wèi)鐨勬蹇碉紝騫剁粰鍑哄鉤琛′竴棰椾簩鍙夋爲(wèi)鐨勬柟娉?/span>

鍏充簬浜屽弶鏍?br>    鐜板湪鏈?/span>N涓厓绱犵殑鏁扮粍鎴栬呴摼琛紝瑕佹煡鎵句竴涓厓绱犲繀欏婚亶鍘嗘暟緇勭洿鍒版壘鍒板厓绱犮傚亣濡傚厓绱犲湪鏄暟緇勪腑鏈鍚庝竴涓垨鑰呮暟緇勪腑涓嶅瓨鍦ㄨ繖鏍風(fēng)殑鍏冪礌錛岄偅涔堝緢涓嶅垢錛屾垜浠閬嶅巻鏁翠釜鏁扮粍銆傚鏋?/span>N闈炲父澶э紝閭e皢鏄潪甯哥棝鑻︾殑涓浠朵簨鎯呫?br>鐢ㄤ簩鍙夋爲(wèi)鎯呭喌灝卞ソ澶氫簡錛?br>1錛?nbsp;鏇村揩鐨勬煡鎵?br>2錛?nbsp;澧炲姞鍏冪礌鏃訛紝鍏冪礌琚嚜鍔ㄦ帓鍒?br>鍘熺悊錛?/em>
鍦ㄩ摼琛ㄦ垨鏁扮粍涓紝鍏冪礌涓涓帴鐫涓涓紝濡傚浘


 

鍦ㄤ簩鍙夋爲(wèi)涓儏鍐典笉澶竴鏍蜂簡


姣忎釜鍏冪礌榪炵潃涓や釜鍏冪礌錛屽乏瀛╁瓙鍜屽彸瀛╁瓙銆備粬浠瓨鍌ㄧ殑鍊肩殑鍏崇郴鏈夊涓嬭瀹?br>Value錛?/span>left錛?/span><Value錛?/span>middle錛?/span><=Value錛?/span>right錛?br>
鎺掑簭錛?br>鍦ㄤ簩鍙夋爲(wèi)涓埄鐢ㄩ掑綊浣犺兘寰堟柟渚跨殑鎺掑簭
鍓嶅簭閬嶅巻
PrintElement(pTopMostElement)
   .
   .
  
void PrintElement(TreeElement* pElement)
  
{
    
if (pElement)
    
{
      PrintElement(pElement
->LeftChild)
      pElement
->PrintMe()
      PrintElement(pElement
->RightChild)
    }

  }

鍚庡簭閬嶅巻錛?/span>

PrintElementReversed(pTopMostElement)
   .
   .
  
void PrintElementReversed(TreeElement* pElement)
  
{
    
if (pElement)
    
{
      PrintElementReversed(pElement
->RightChild)
      pElement
->PrintMe()
      PrintElementReversed(pElement
->LeftChild)
    }

  }


濡備綍浣夸簩鍙夋爲(wèi)騫寵 錛?/em>
娣誨姞鍏冪礌鐨勯『搴忓皢褰卞搷浜屽弶鏍?wèi)鐨勫舰鎬侊紝浠?/span>3,6,4,8,1,9,2,7,5鐨勯『搴忓緱鍒?/span>

浠?/font>1,2,3,4,5,6,7,8,9灝嗗緱鍒?br>
鏈変互涓嬫柟娉曞彲浠ヨ冭檻錛?br>1錛?span>
浠ラ潪鎺掑簭鐨勫厓绱犳彃鍏ュ厓绱狅紝涓嶈兘瑕佹眰緇欏嚭鐨勫厓绱犳槸楂樺害涓嶆帓搴忕殑
2錛?nbsp;浠ヤ竴緇勯殢鏈哄厓绱犳瀯閫犱簩鍙夋爲(wèi)錛岀劧鍚庢浛鎹㈣繖浜涘厓绱狅紝鐒跺悗閫氳繃鏃嬭漿寰楀埌騫寵 鐨勬爲(wèi)銆傚弬鑰冮殢鏈烘爲(wèi)銆?br>3錛?nbsp;閲嶆瀯榪欑鏍?br>
閲嶆瀯鏁寸鏍?br>1錛?nbsp;鎶婂厓绱犳嫹璐濆埌鏁扮粍涓紝浠ュ崌搴忔帓搴?br>2錛?nbsp;娓呯┖榪欐5鏍?br>3錛?nbsp;浠庢暟緇勪腑楂樺害涓嶆帓搴忕殑閫夊彇鍏冪礌鎻掑叆鏍?wèi)涓?/span>鍙互榪欐牱瀹屾垚絎笁姝ワ細(xì)


鍙互閫掑綊鐨勫疄鐜幫細(xì)
// Assuming array ranges from [0..arraySize-1]
GetFromOrderedArray(0,arraySize-1)
  .
  .
void GetFromOrderedArray(int lowBound,int highBound)
{
  
if (hi < low) return;
  middlePos 
= lowBound+(highBound-lowBound)/2
  
// middlePos is now at the element in the middle
  
// between lowBound and highBound, so we just add
  
// it to the tree

  AddElement ( theOrderedArray[middlePos] )

  
// Pick the middle one "to the left"
  AddFromOrderedArray(lowBound,middlePos-1)

  
// Pick the middle one "to the right"
  AddFromOrderedArray(middlePos+1,highBound)
}



鍒犻櫎涓涓厓绱?br>

棣栧厛瑕佹壘鍒拌鍒犻櫎鐨勫厓绱?/span>E錛屾湁涓ょ鏂規(guī)硶錛?br>1錛?nbsp;閫氳繃閬嶅巻鎵懼埌榪欎釜鍏冪礌E
2錛?nbsp;緇欐瘡涓厓绱犱竴涓寚鍚戝弻浜茬殑鎸囬拡

鎺ヤ笅鏉ュ氨鏄垹闄ょ殑榪囩▼浜嗭細(xì)
1錛?nbsp;鍓柇E涓庝粬鍙屼翰鐨勮繛鎺?br>2錛?nbsp;灝嗗乏鍙沖瀛愭墍鍦ㄧ殑瀛愭爲(wèi)鍚屽叾浠栧厓绱犱竴鏍峰姞鍒版爲(wèi)涓?br>3錛?nbsp;鍒犻櫎E

void RemoveElement(TreeElement* theOneToRemove)
{
  TreeElement
* pParent = theOneToRemove->GetParent();

  
// Ok, so it has a parent, then we'll simply just disconnect it.
  if (pParent)
  
{
     
if (pParent->GetLeftChild() == theOneToRemove)
     
{
        pParent
->SetLeftChild(NULL);
     }

     
else
     
{
        ASSERT(pParent
->GetRightChild() == theOneToRemove);
        pParent
->SetRightChild(NULL);
     }

  }

  
else
  
{
     
// No parent? Then we're removing the root element.
     theTopMostElement = NULL;
   }


  
// Disconnected, now we reconnect its children (if any)
  
// just by adding them as we add any other node.
  if (theOneToRemove->GetLeftChild())
   AddElement(theOneToRemove
->GetLeftChild());
  
if (theOneToRemove->GetRightChild())
   AddElement(theOneToRemove
->GetRightChild());

  
//Zap the element (if that's what you want to do)
  delete theOneToRemove;

}


娉ㄨВ錛?/span>

閫氳繃鍑芥暟鍥炶皟 閬嶅巻浜屽弶鏍?/span>

娉細(xì)鍑芥暟鍥炶皟渚嬪AddElement(theOneToRemove->GetRightChild());

綆鑰岃█涔嬶紝鍥炶皟鍑芥暟灝辨槸涓涓氳繃鍑芥暟鎸囬拡璋冪敤鐨勫嚱鏁般傚鏋滀綘鎶婂嚱鏁扮殑鎸囬拡錛堝湴鍧錛変綔涓哄弬鏁頒紶閫掔粰鍙︿竴涓嚱鏁幫紝褰撹繖涓寚閽堣鐢ㄤ負(fù)璋冪敤瀹冩墍鎸囧悜鐨勫嚱鏁版椂錛屾垜浠氨璇磋繖鏄洖璋冨嚱鏁般?br>鍙互鎶婅皟鐢ㄨ呬笌琚皟鐢ㄨ呭垎寮銆傝皟鐢ㄨ呬笉鍏沖績璋佹槸琚皟鐢ㄨ咃紝鎵鏈夊畠闇鐭ラ亾鐨勶紝鍙槸瀛樺湪涓涓叿鏈夋煇縐嶇壒瀹氬師鍨嬨佹煇浜涢檺鍒舵潯浠訛紙濡傝繑鍥炲間負(fù)int錛夌殑琚皟鐢ㄥ嚱鏁般?br>
                                            #鍐呭閫夎嚜CodeGuru
鑻ョ悊瑙i敊璇紝嬈㈣繋鎸囨錛?/span>



]]>
Euclid鎵╁睍綆楁硶http://www.shnenglu.com/zytoftuncun/archive/2007/06/10/25982.htmlAIBPXTSHMFAIBPXTSHMFSun, 10 Jun 2007 10:25:00 GMThttp://www.shnenglu.com/zytoftuncun/archive/2007/06/10/25982.htmlhttp://www.shnenglu.com/zytoftuncun/comments/25982.htmlhttp://www.shnenglu.com/zytoftuncun/archive/2007/06/10/25982.html#Feedback1http://www.shnenglu.com/zytoftuncun/comments/commentRss/25982.htmlhttp://www.shnenglu.com/zytoftuncun/services/trackbacks/25982.htmlgcd(b,a%b)=bx'+(a%b)y'=bx'+(a-(a/b)b)y'=bx'+ay'-b(a/b)y'=ay'+b(x'-(a/b)y')
鍙渶婊¤凍
x=y'
y=x'-(a/b)y'
//d=gcd(a,b)=ax+by
#include<iostream>
using namespace std;
int extEuclid(int a,int b,int&x,int&y)
{
    
int d,tmp;
    
if(!b){x=1;y=0;return a;}
    d
=extEuclid(b,a%b,x,y);
    tmp
=x;
    x
=y;
    y
=tmp-(a/b)*y;
    
return d;
}


int main(){
    
int a,b,x=0,y=0;
    cin
>>a>>b;//99 78
    cout<<extEuclid(a,b,x,y)<<'\t'<<x<<'\t'<<y;
    
//system("pause");
    return 0;
}

濂囨殑鏄疺C6.0緙栬瘧閫氳繃鍚庢墽琛岋紝鏃犺濡備綍x鍜寉鐨勫煎緇堜負(fù)0銆傝岀敤dev錛峜++緙栬瘧閫氳繃鍚庢樉紺虹粨鏋滄甯革紒
濡傛灉灝嗚緭鍑烘敼涓?br>
cout<<extEuclid(a,b,x,y)<<endl;
    cout
<<'\t'<<x<<'\t'<<y;
VC6.0緙栬瘧鍚庤繍琛屼篃灝辨樉紺烘甯鎬簡錛?br>I DON'T KNOW WHY?

]]>
(a^b)%n榪唬娉曞疄鐜?/title><link>http://www.shnenglu.com/zytoftuncun/archive/2007/06/05/25603.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Tue, 05 Jun 2007 14:44:00 GMT</pubDate><guid>http://www.shnenglu.com/zytoftuncun/archive/2007/06/05/25603.html</guid><wfw:comment>http://www.shnenglu.com/zytoftuncun/comments/25603.html</wfw:comment><comments>http://www.shnenglu.com/zytoftuncun/archive/2007/06/05/25603.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/zytoftuncun/comments/commentRss/25603.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zytoftuncun/services/trackbacks/25603.html</trackback:ping><description><![CDATA[鏌ヤ簡涓涓嬩功,鐭ラ亾浜嗚繖鏍蜂竴涓叕寮?榪欐牱鏄ㄥぉ浜屽垎娉曠殑鐤戦棶灝卞彲浠ヨВ鍐充簡,涔熷彲浠ョ敤榪唬娉曞疄鐜頒簡:鐪嬫潵鍚存枃铏庣紪鍐欑殑涔﹁繕鎸洪厤濂楃殑.<br><img height=95 alt="" src="http://www.shnenglu.com/images/cppblog_com/zytoftuncun/qu.jpg" width=684 border=0><br>涔熷氨鏄?a^b%n=((a^b-1)*a)%n====>(a*b)%n=((a%n)*b)%n===>a^b%n=(((a^(b/2))%n)*a^(b/2))%n <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000">榪唬娉?/span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> modexp2(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> b,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n)<br><img id=Codehighlighter1_37_103_Open_Image onclick="this.style.display='none'; Codehighlighter1_37_103_Open_Text.style.display='none'; Codehighlighter1_37_103_Closed_Image.style.display='inline'; Codehighlighter1_37_103_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_37_103_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_37_103_Closed_Text.style.display='none'; Codehighlighter1_37_103_Open_Image.style.display='inline'; Codehighlighter1_37_103_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_37_103_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_37_103_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> r;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    r</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">n;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">b</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        r</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">(r</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">a)</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">n;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> r;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span></div> 涔︿腑榪樿鍙互鎻愰珮鏁堢巼,鐮旂┒鍚庡啀璇? <br>(a^b)%n=(a^錛坆/2錛?n * a^錛坆/2錛?n)%n<br>鏍規(guī)嵁榪欎釜鍏紡錛岃璁哄鏁板拰鍋舵暟澶勭悊<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> modExp(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> b, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n)<br><img id=Codehighlighter1_32_116_Open_Image onclick="this.style.display='none'; Codehighlighter1_32_116_Open_Text.style.display='none'; Codehighlighter1_32_116_Closed_Image.style.display='inline'; Codehighlighter1_32_116_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_32_116_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_32_116_Closed_Text.style.display='none'; Codehighlighter1_32_116_Open_Image.style.display='inline'; Codehighlighter1_32_116_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_32_116_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_32_116_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> d</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,r</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a;<br><img id=Codehighlighter1_57_103_Open_Image onclick="this.style.display='none'; Codehighlighter1_57_103_Open_Text.style.display='none'; Codehighlighter1_57_103_Closed_Image.style.display='inline'; Codehighlighter1_57_103_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_57_103_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_57_103_Closed_Text.style.display='none'; Codehighlighter1_57_103_Open_Image.style.display='inline'; Codehighlighter1_57_103_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(b)</span><span id=Codehighlighter1_57_103_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_57_103_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_71_80_Open_Image onclick="this.style.display='none'; Codehighlighter1_71_80_Open_Text.style.display='none'; Codehighlighter1_71_80_Closed_Image.style.display='inline'; Codehighlighter1_71_80_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_71_80_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_71_80_Closed_Text.style.display='none'; Codehighlighter1_71_80_Open_Image.style.display='inline'; Codehighlighter1_71_80_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(b</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)</span><span id=Codehighlighter1_71_80_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_71_80_Open_Text><span style="COLOR: #000000">{d</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">d</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">r</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">n;}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        r</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">r</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">r</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">n;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        b</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">b</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> d;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <img src ="http://www.shnenglu.com/zytoftuncun/aggbug/25603.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-06-05 22:44 <a href="http://www.shnenglu.com/zytoftuncun/archive/2007/06/05/25603.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>(a^b)%n---ACM渚嬮鐨勭枒鎯?/title><link>http://www.shnenglu.com/zytoftuncun/archive/2007/06/03/25412.html</link><dc:creator>AIBPXTSHMF</dc:creator><author>AIBPXTSHMF</author><pubDate>Sun, 03 Jun 2007 14:38:00 GMT</pubDate><guid>http://www.shnenglu.com/zytoftuncun/archive/2007/06/03/25412.html</guid><wfw:comment>http://www.shnenglu.com/zytoftuncun/comments/25412.html</wfw:comment><comments>http://www.shnenglu.com/zytoftuncun/archive/2007/06/03/25412.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.shnenglu.com/zytoftuncun/comments/commentRss/25412.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zytoftuncun/services/trackbacks/25412.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">//</span><span style="COLOR: #008000">(a^b)%n</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">#include</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">榪欓噷鐢ㄧ殑鏄粈涔堟柟娉曞憿?</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> modExp(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> b,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n)<br><img id=Codehighlighter1_73_157_Open_Image onclick="this.style.display='none'; Codehighlighter1_73_157_Open_Text.style.display='none'; Codehighlighter1_73_157_Closed_Image.style.display='inline'; Codehighlighter1_73_157_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_73_157_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_73_157_Closed_Text.style.display='none'; Codehighlighter1_73_157_Open_Image.style.display='inline'; Codehighlighter1_73_157_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_73_157_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_73_157_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,y</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(b)<br><img id=Codehighlighter1_100_144_Open_Image onclick="this.style.display='none'; Codehighlighter1_100_144_Open_Text.style.display='none'; Codehighlighter1_100_144_Closed_Image.style.display='inline'; Codehighlighter1_100_144_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_100_144_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_100_144_Closed_Text.style.display='none'; Codehighlighter1_100_144_Open_Image.style.display='inline'; Codehighlighter1_100_144_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span id=Codehighlighter1_100_144_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_100_144_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(b</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">t</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">y</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">n;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        y</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">y</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">y</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">n;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        b</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">b</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> t;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">甯歌</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> modexp(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> b,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> n)<br><img id=Codehighlighter1_194_247_Open_Image onclick="this.style.display='none'; Codehighlighter1_194_247_Open_Text.style.display='none'; Codehighlighter1_194_247_Closed_Image.style.display='inline'; Codehighlighter1_194_247_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_194_247_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_194_247_Closed_Text.style.display='none'; Codehighlighter1_194_247_Open_Image.style.display='inline'; Codehighlighter1_194_247_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_194_247_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_194_247_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">b;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)t</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">t</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">a;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> t</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">n;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_265_398_Open_Image onclick="this.style.display='none'; Codehighlighter1_265_398_Open_Text.style.display='none'; Codehighlighter1_265_398_Closed_Image.style.display='inline'; Codehighlighter1_265_398_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_265_398_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_265_398_Closed_Text.style.display='none'; Codehighlighter1_265_398_Open_Image.style.display='inline'; Codehighlighter1_265_398_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_265_398_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_265_398_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> a</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,b</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,n</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    std::cin</span><span style="COLOR: #000000">>></span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">>></span><span style="COLOR: #000000">b</span><span style="COLOR: #000000">>></span><span style="COLOR: #000000">n;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    std::cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">modExp(a,b,n)</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">std::endl;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    std::cout</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">modexp(a,b,n)</span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000">std::endl;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span></div> 璋佽兘緇欐垜璁茶瀹冭繖涓柟娉曟槸浠涔堟暟瀛﹀師鐞嗗憿? <br>//絎簩涓嚱鏁頒粎涓烘祴璇曟紜ц緗?涓嶈冭檻婧㈠嚭闂 <img src ="http://www.shnenglu.com/zytoftuncun/aggbug/25412.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zytoftuncun/" target="_blank">AIBPXTSHMF</a> 2007-06-03 22:38 <a href="http://www.shnenglu.com/zytoftuncun/archive/2007/06/03/25412.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Least Common Mutiplehttp://www.shnenglu.com/zytoftuncun/archive/2007/06/03/25369.htmlAIBPXTSHMFAIBPXTSHMFSun, 03 Jun 2007 03:44:00 GMThttp://www.shnenglu.com/zytoftuncun/archive/2007/06/03/25369.htmlhttp://www.shnenglu.com/zytoftuncun/comments/25369.htmlhttp://www.shnenglu.com/zytoftuncun/archive/2007/06/03/25369.html#Feedback0http://www.shnenglu.com/zytoftuncun/comments/commentRss/25369.htmlhttp://www.shnenglu.com/zytoftuncun/services/trackbacks/25369.html//闈為掑綊杈楄漿鐩擱櫎姹傛渶澶у叕綰︽暟
int gcd(int a,int b)
{
    
int r=0;
    r
=a%b;
    
while(r)
    
{
        a
=b;
        b
=r;
        r
=a%b;
    }

    
return b;
}

//鏈灝忓叕鍊嶆暟
int lcm(int a,int b)
{
    
return (a*b)?a*b/gcd(a,b):0;
}


]]>
Greatest Common Divisorhttp://www.shnenglu.com/zytoftuncun/archive/2007/06/02/25352.htmlAIBPXTSHMFAIBPXTSHMFSat, 02 Jun 2007 11:59:00 GMThttp://www.shnenglu.com/zytoftuncun/archive/2007/06/02/25352.htmlhttp://www.shnenglu.com/zytoftuncun/comments/25352.htmlhttp://www.shnenglu.com/zytoftuncun/archive/2007/06/02/25352.html#Feedback0http://www.shnenglu.com/zytoftuncun/comments/commentRss/25352.htmlhttp://www.shnenglu.com/zytoftuncun/services/trackbacks/25352.html
//姹傛渶澶у叕綰︽暟,鍏紡if(a=b*q+r)then(gcd(a,b)=gcd(b,r))
int gcd(int a,int b)
{
    
return (a%b)?gcd(b,a%b):b;
}
闈為掑綊綆楁硶:
//闈為掑綊杈楄漿鐩擱櫎
int gcd(int a,int b)
{
    
int r=0;
    r
=a%b;
    
while(r)
    
{
        a
=b;
        b
=r;
        r
=a%b;
    }

    
return b;
}


]]>
mergesort浼樺寲鑻ュ共璇佹槑http://www.shnenglu.com/zytoftuncun/archive/2007/01/29/18149.htmlAIBPXTSHMFAIBPXTSHMFMon, 29 Jan 2007 08:52:00 GMThttp://www.shnenglu.com/zytoftuncun/archive/2007/01/29/18149.htmlhttp://www.shnenglu.com/zytoftuncun/comments/18149.htmlhttp://www.shnenglu.com/zytoftuncun/archive/2007/01/29/18149.html#Feedback0http://www.shnenglu.com/zytoftuncun/comments/commentRss/18149.htmlhttp://www.shnenglu.com/zytoftuncun/services/trackbacks/18149.html
a.璇佹槑鏈鍧忔儏鍐典笅錛宯/k涓瓙搴忓垪鐢ㄦ彃鍏ユ潵鎺掑簭鐨勬椂闂存椂O(nk).
聽聽聽鎻掑叆鎺掑簭涓篛(n*n)錛岄偅涔堝闀垮害涓簁鐨勫瓙搴忓垪鎺掑簭涓篛(k*k),n/k涓瓙搴忓垪鎺掑簭鏃墮棿鍜屾槸(n/k)*O(k*k)=O(n*k),寰楄瘉

b.璇佹槑鍦ㄦ渶鍧忔儏鍐典笅鍚勫瓙搴忓垪鍙互鍦∣(nlg(n/k))涓嬪悎騫?

c.璁句慨鏀瑰悗鍚堝茍綆楁硶鐨勬椂闂撮樁涓篛(nk+nlg(n/k)).璇風(fēng)粰鍑烘渶澶ф笎榪戝糼錛堜互O璁板彿錛宬鏄痭鐨勫嚱鏁幫級(jí)浣垮緱淇敼鍚庣殑綆楁硶鏈夊拰鏍囧噯鍚堝茍綆楁硶涓鏍風(fēng)殑娓愯繎榪愯鏃墮棿

d.k鐨勫煎湪瀹為檯涓浣曠‘瀹氾紵

]]>
MERGESORThttp://www.shnenglu.com/zytoftuncun/archive/2007/01/29/18130.htmlAIBPXTSHMFAIBPXTSHMFMon, 29 Jan 2007 02:25:00 GMThttp://www.shnenglu.com/zytoftuncun/archive/2007/01/29/18130.htmlhttp://www.shnenglu.com/zytoftuncun/comments/18130.htmlhttp://www.shnenglu.com/zytoftuncun/archive/2007/01/29/18130.html#Feedback0http://www.shnenglu.com/zytoftuncun/comments/commentRss/18130.htmlhttp://www.shnenglu.com/zytoftuncun/services/trackbacks/18130.html鑷繁閿欑殑紼嬪簭mergesort鏀懼湪鍚勪釜璁哄潧涓婂姹傜瓟妗堬紝緇撴灉涓夊ぉ娌′漢鍥炲銆傛兂鏉ヤ篃鏄珮鎵嬫棤鏆囷紝鑿滈笩鏃犺銆備簬鏄嚜宸遍潤涓嬪績鏉ワ紝浠旂粏鐪嬩簡涓涓嬶紝榪樻槸鏍囧彿寮勯敊浜嗐傛棦鐒跺紑浜嗕袱涓暟緇勶紝閭d箞鏁版嵁鎷瘋礉榪涘幓鍚庯紝鏍囧彿搴旇鏄綋鍓嶆暟緇勭殑錛岀粨鏋滅敤浜嗗師鏉ユ暟緇勭殑鏍囧彿錛屽鑷撮敊璇傝繖鏄慨鏀瑰悗鐨勬簮鐮侊細(xì)

// mergesort
#include < iostream >
using namespace 聽std;

int 聽merge( int 聽A[], int 聽p, int 聽q, int 聽r) {
int 聽n1 = q - p + 1 ;
int 聽n2 = r - q;
int * 聽L聽 = new int [n1];
int * 聽R聽 = new int [n2];
for ( int 聽i = 0 ;i < n1; ++ i)
聽聽L[i]
= A[p + i];
for ( int 聽j = 0 ;j < n2; ++ j)
聽聽R[j]
= A[q + 1 + j];
聽i
= 0 ;j = 0 ;
int 聽k = p;
while (i < n1 && j < n2) {
聽聽
if (L[i] <= R[j]) {A[k ++ ] = L[i ++ ];}
聽聽
else {A[k ++ ] = R[j ++ ];}
聽}

while (i < n1) {
聽聽A[k
++ ] = L[i ++ ];}

while (j < n2) {
聽聽A[k
++ ] = R[j ++ ];}

return ( 0 );
}


int 聽mergesort( int 聽A[], int 聽p, int 聽r) {
int 聽q;
if (p < r) {
聽聽q
= (p + r) / 2 ;
聽聽mergesort(A,p,q);
聽聽mergesort(A,q
+ 1 ,r);
聽聽merge(A,p,q,r);
聽}

return ( 0 );
}


int 聽main() {
聽聽聽聽
int 聽b[ 6 ] = { 11 , 65 , 53 , 78 , 38 , 63 } ;
聽聽聽聽mergesort(b,
0 , 5 );
for ( int 聽i = 0 ;i < 6 ; ++ i)
聽聽cout
<< b[i] << ' \t ' ;
return ( 0 );
}


灝忓皬鐨勯敊璇紝鎵句簡鎴戝崐澶?/p>

]]>
Divide and Conquerhttp://www.shnenglu.com/zytoftuncun/archive/2007/01/25/17992.htmlAIBPXTSHMFAIBPXTSHMFThu, 25 Jan 2007 12:16:00 GMThttp://www.shnenglu.com/zytoftuncun/archive/2007/01/25/17992.htmlhttp://www.shnenglu.com/zytoftuncun/comments/17992.htmlhttp://www.shnenglu.com/zytoftuncun/archive/2007/01/25/17992.html#Feedback0http://www.shnenglu.com/zytoftuncun/comments/commentRss/17992.htmlhttp://www.shnenglu.com/zytoftuncun/services/trackbacks/17992.html聽聽聽聽 鍒嗘不娉曪紝欏懼悕鎬濅箟錛氬垏鍒嗙劧鍚庢不鐞嗭紝娌葷悊灝辨槸鍚勪釜瑙e喅闂鐒跺悗鍚堝茍鏁寸悊銆傞掑綊鐨勮В鍐沖垎鎴恘涓緝?yōu)畯瑙勬ā鐨勫瓙闂锛岀劧鍚帪畣鍚勪釜缁撴灉鍚堯q朵粠鑰岃В鍐沖師鏉ョ殑闂銆?br />DIVIDE錛氬皢闂鍒嗚В鎴愪竴緋誨垪瀛愰棶棰樸?br />CONQUER錛氶掑綊鍦拌В鍐沖悇涓瓙闂錛岃嫢闂瓚沖灝忥紝鍒欑洿鎺ヨВ鍐熾?br />COMBINE錛氬皢瀛愰棶棰樼殑緇撴灉鍚堝茍鎴愬師闂鐨勮В銆?br />鑷繁緙栫殑浠g爜錛岀粨鏋滃張榪愯涓嶈搗鏉ワ細(xì)ps:鍑犵粡淇敼錛岀湅鏉ョ粏鑺傞棶棰樿娉ㄦ剰錛岀畝鍖栨帹鐞嗘槸涓ソ鍔炴硶
//mergesort
#include<iostream>
using namespace std;

int merge(int*A,int p,int q,int r){
聽int n1=q-p+1;
聽int n2=r-q;
聽int* L = new int[n1];
聽int* R = new int[n2];
聽for(int i=0;i<n1;++i)
聽 L[i]=A[p+i];
聽for(int j=0;j<n2;++j)
聽 R[j]=A[q+1+j];
聽i=0;j=0;
聽for(int k=p;k<r;k++){
聽 if(L[i]<=R[j]){A[k]=L[i++];}
聽 else {A[k]=R[j++];}
聽}
聽return(0);
}

int mergesort(int*A,int p,int r){
聽int q;
聽if(p<r){
聽 q=(p+r)/2;
聽 mergesort(A,p,q);
聽 mergesort(A,q+1,r);
聽 merge(A,p,q,r);
聽}
聽return(0);
}

int main(){
聽聽聽 int b[6]={11,65,53,78,38,63};
聽聽聽 mergesort(b,0,5);
聽for(int i=0;i<6;++i)
聽 cout<<b[i]<<'\t';
聽return(0);
}

浠ヤ笅寮曠敤鑷細(xì)gooler鐨勪笓鏍?a >http://blog.csdn.net/Gooler/archive/2006/03/22/632422.aspx鏈夊悇縐嶆帓搴忕畻娉晀uicksort,heapsort...
/*
聽* A is an array and p, q, and r are indices numbering elements of the array
聽* such that p <= q < r.
聽*
聽* This procedure assumes that the subarrays A[p. .q] and A[q + 1. .r] are in
聽* sorted order. It merges them to form a single sorted subarray that replaces
聽* the current subarray A[p. .r].
聽*/
void merge(int A[], int p, int q, int r) {
聽聽聽 int i, j, k, size;
聽聽聽 int* B;
聽聽聽
聽聽聽 size = r - p + 1;

聽聽聽 B = new int[size]; /* temp arry for storing the merge result */
聽聽聽
聽聽聽 /* initialize B */
聽聽聽 for (i = 0; i < size; ++i) {
聽聽聽 聽聽聽 B[i] = 0;
聽聽聽 }

聽聽聽 i = p;
聽聽聽 j = q + 1;
聽聽聽 k = 0;
聽聽聽
聽聽聽 /* compare and copy the smaller to B */
聽聽聽 while (i <= q && j <= r) {
聽聽聽 聽聽聽 if (A[i] < A[j]) {
聽聽聽 聽聽聽 聽聽聽 B[k++] = A[i++];
聽聽聽 聽聽聽 } else {
聽聽聽 聽聽聽 聽聽聽 B[k++] = A[j++];
聽聽聽 聽聽聽 }
聽聽聽 }
聽聽聽
聽聽聽 /* copy the rest to B */
聽聽聽 while (i <= q) {
聽聽聽 聽聽聽 B[k++] = A[i++];
聽聽聽 }聽聽聽
聽聽聽 while (j <= r) {
聽聽聽 聽聽聽 B[k++] = A[j++];
聽聽聽 }
聽聽聽
聽聽聽 /* replace A[p..r] with B[0..r-p] */
聽聽聽 for (i = p, k = 0; i <= r; ++i, ++k) {
聽聽聽 聽聽聽 A[i] = B[k];
聽聽聽 }

聽聽聽 delete[] B;
}

/*
聽* This procedure sorts the elements in the subarray A[p. .r].
聽*
聽* If p >= r, the subarray has at most one element and is therefore
聽* already sorted. Otherwise, the divide step simply computes an index
聽* q that partitions A[p. .r] into two subarrays: A[p. .q], containing n/2
聽* elements, and A[q + 1. .r], containing n/2 elements.
聽*/
void mergeSort(int A[], int p, int r) {
聽聽聽 if (p >= r) return;
聽聽聽
聽聽聽 int q = (p + r) / 2;
聽聽聽
聽聽聽 mergeSort(A, p, q);
聽聽聽 mergeSort(A, q + 1, r);
聽聽聽 merge(A, p, q, r);
}



]]>
INSERT-SORThttp://www.shnenglu.com/zytoftuncun/archive/2007/01/24/17968.htmlAIBPXTSHMFAIBPXTSHMFWed, 24 Jan 2007 14:10:00 GMThttp://www.shnenglu.com/zytoftuncun/archive/2007/01/24/17968.htmlhttp://www.shnenglu.com/zytoftuncun/comments/17968.htmlhttp://www.shnenglu.com/zytoftuncun/archive/2007/01/24/17968.html#Feedback0http://www.shnenglu.com/zytoftuncun/comments/commentRss/17968.htmlhttp://www.shnenglu.com/zytoftuncun/services/trackbacks/17968.html聽 A[1..n]鍚玭涓厓绱犵殑鏁扮粍聽 涓暟n=length[A]
聽 鎻掑叆鎺掑簭錛嶏紞閫傚悎灝戦噺鍏冪礌鐨勬帓搴?br />聽聽 for j<-- 2 to length[A]
聽聽聽聽聽聽 do key<--A[j]聽
聽聽聽聽聽聽聽聽 //灝咥[j]鎻掑叆鍒版帓濂藉簭鐨勫簭鍒桝[1..j-1]
聽聽聽聽聽聽聽聽聽 i<--j-1
聽聽聽聽聽聽聽聽 while i>0 and A[i]>key
聽聽聽聽聽聽聽聽聽聽聽 do A[i+1]<--A[i]
聽聽聽聽聽聽聽聽聽聽聽 i<-- i-1
聽聽聽聽聽聽聽聽 A[i-1]<--key

鐢╟++婧愮▼搴忔弿榪幫細(xì)
#include<iostream>
using namespace std;
int insertSort(int*array){
int key,i;
for(int j=1;j<6;++j){
聽聽聽聽 key=array[j];聽 //灝嗙浜屼釜寮濮嬬殑鍏冪礌鏀懼叆key
聽聽聽聽聽 i=j-1;
聽聽聽聽聽 while(i>=0&&array[i]>key){聽聽聽聽 //灝嗗ぇ浜巏ey鐨勫厓绱犺嚦key鍘熸湰鎵鍦ㄤ綅緗殑鎵鏈夊厓绱犲悜鍚庣Щ鍔ㄤ竴涓紝騫惰鐩栦簡key鍘熸潵鐨勪綅緗?br />聽聽聽聽聽聽聽聽聽聽 array[i+1]=array[i];
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --i;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽 array[i+1]=key;//灝唊ey鎻掑叆鍒癮rray[i]鐨勪綅緗?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
return(0);

}

int main(){
int a[6]={11,65,53,78,38,63};
insertSort(a);
for(int i=0;i<6;++i)
cout<<a[i]<<'\t';
return(0);
}

璇ユ柟娉曞湪綆楁硶璁捐涓彨澧為噺鏂規(guī)硶Incremental
聽聽聽聽聽聽聽聽
聽聽

]]>
精品久久久噜噜噜久久久| 精产国品久久一二三产区区别| 99久久久精品免费观看国产| 精品国产乱码久久久久久1区2区| 97久久国产亚洲精品超碰热| 青青热久久综合网伊人| 久久亚洲天堂| 久久国产劲爆AV内射—百度| 久久99国产精品尤物| 办公室久久精品| 久久天天躁狠狠躁夜夜不卡| WWW婷婷AV久久久影片| 久久国产成人| 99久久精品免费看国产一区二区三区 | 久久精品人人槡人妻人人玩AV| 久久91综合国产91久久精品| 久久久久亚洲AV无码去区首| 久久妇女高潮几次MBA| 伊人久久综在合线亚洲2019 | 久久亚洲精品成人av无码网站| 久久国产精品-久久精品| 性高朝久久久久久久久久| 久久午夜羞羞影院免费观看| 国産精品久久久久久久| 99精品久久久久久久婷婷| 色综合久久久久网| 久久久久久久久久久精品尤物| 久久精品国产福利国产秒| 99久久这里只精品国产免费| 99精品伊人久久久大香线蕉| 国产成人久久精品一区二区三区| 久久这里只有精品久久| 午夜人妻久久久久久久久| 精品国产一区二区三区久久蜜臀| 无码精品久久久久久人妻中字| 久久亚洲欧洲国产综合| 日韩一区二区久久久久久| 亚洲精品乱码久久久久久蜜桃图片| 久久国产影院| 国产女人aaa级久久久级| 国产精品国色综合久久|