锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久亚洲?V成人无码,精品亚洲麻豆1区2区3区,亚洲男人的天堂网站http://m.tkk7.com/shiliqiang/category/40762.htmlI'm on my way!zh-cnSat, 22 Aug 2009 22:05:51 GMTSat, 22 Aug 2009 22:05:51 GMT60java涓叧浜庝紭鍏堢駭闃熷垪鐨勫疄鐜?/title><link>http://m.tkk7.com/shiliqiang/articles/291276.html</link><dc:creator>鐭沖ご@</dc:creator><author>鐭沖ご@</author><pubDate>Sat, 15 Aug 2009 09:25:00 GMT</pubDate><guid>http://m.tkk7.com/shiliqiang/articles/291276.html</guid><wfw:comment>http://m.tkk7.com/shiliqiang/comments/291276.html</wfw:comment><comments>http://m.tkk7.com/shiliqiang/articles/291276.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/shiliqiang/comments/commentRss/291276.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/shiliqiang/services/trackbacks/291276.html</trackback:ping><description><![CDATA[<div>        榪欏嚑澶╀竴鐩村湪鎼炲叧浜庝紭鍏堢駭闃熷垪鐨勫疄鐜?鍥犱負瑕佽冭檻鍒扮嚎紼嬬殑瀹夊叏,鎵浠riorityQueue灝變笉閫傜敤浜嗐備竴涓潪甯哥畝鍗曠殑瀹炵幇鏂? 娉曪紝閭e氨鏄妸浼樺厛綰ф瘮杈冨ソ鐨勬彃鍏ヤ竴涓槦鍒楋紝浼樺厛綰т綆鐨勬彃鍏ュ彟涓涓槦鍒楋紝鍙栨暟鐨勬椂鍊欏厛鍦ㄤ紭鍏堢駭楂樼殑闃熷垪涓婂彇鏁般傝繖鏈変釜緙虹偣灝辨槸濡傛灉浼樺厛綰у埆瓚婂鐨勮瘽錛岄槦鍒楀氨 瓚婂銆?/div> <div>        鍥犱負瑕佺嚎紼嬪畨鍏紝闃熷垪閲囩敤ConcurrentLinkedQueue榪欎釜綰跨▼瀹夊叏鐨勶紝鑰宎pi鏂囨。涓婅ConcurrentLinkedQueue閲囩敤浜嗘湁鏁堢殑“鏃犵瓑寰?(wait-free)”綆楁硶錛屾墍浠ュ畠鐨勫悶鍚愰噺鏄緢涓嶉敊鐨勶紒</div> <div>    綆鍗曚唬鐮佸涓嬶細</div> <ol class="highlighter-j"> <li><span id="hlzbdvj" class="keyword">package</span><span> test;</span><br /> </li> <li id="fbptblx" class="alt"><br /> </li> <li><span id="bprzhbz" class="keyword">import</span><span> java.util.concurrent.ConcurrentLinkedQueue;</span></li> <li id="9jnnvx7" class="alt"><br /> </li> <li><span id="pdfx99j" class="keyword">public</span><span> </span><span id="n3vphbz" class="keyword">class</span><span> PriorityQueueTest {</span></li> <li id="xdfpzx7" class="alt"><br /> </li> <li><span>    </span><span id="zd7zt9f" class="keyword">public</span><span> </span><span id="5pdfnp3" class="keyword">static</span><span> </span><span id="frjll13" class="keyword">void</span><span> main(String[] args) {</span></li> <li id="df7f7z9" class="alt"><span>        ConcurrentLinkedQueue<String> highPriority = </span><span id="blxr9zr" class="keyword">new</span><span> ConcurrentLinkedQueue<String>(); </span><span id="lr79x9v" class="comment">//楂樹紭鍏堢駭</span></li> <li><span>        ConcurrentLinkedQueue<String> lowPriority = </span><span id="tpjrlfp" class="keyword">new</span><span> ConcurrentLinkedQueue<String>();  </span><span id="b7dd3tl" class="comment">//浣庝紭鍏堢駭</span></li> <li id="rddvpx3" class="alt"><span>        </span></li> <li><span>        highPriority.add(</span><span id="fx713nf" class="string">"aaa"</span><span>);</span></li> <li id="3xzppjr" class="alt"><span>        highPriority.add(</span><span id="nfrzbbt" class="string">"bbb"</span><span>);</span></li> <li><span>        highPriority.add(</span><span id="t1bjtjr" class="string">"111"</span><span>);</span></li> <li id="bppx7bv" class="alt"><span>        </span></li> <li><span>        lowPriority.add(</span><span id="3fdndvd" class="string">"ccc"</span><span>);</span></li> <li id="pbjbvv7" class="alt"><span>        lowPriority.add(</span><span id="txh3z3f" class="string">"ddd"</span><span>);</span></li> <li><span>        lowPriority.add(</span><span id="r1vdft9" class="string">"222"</span><span>);</span></li> <li id="lfzv7n9" class="alt"><span>        </span></li> <li><span>        </span><span id="lxxh3lr" class="keyword">int</span><span> i = </span><span id="5fprhf7" class="number">0</span><span> ,j = </span><span id="n3nvxx3" class="number">0</span><span>, k=</span><span id="h7nlvlf" class="number">0</span><span>;</span></li> <li id="xbtvpxz" class="alt"><span>        </span><span id="bxxpr1j" class="keyword">while</span><span>(</span><span id="xlv7lvx" class="keyword">true</span><span>){</span></li> <li><span>            </span><span id="799nnxn" class="keyword">while</span><span>(</span><span id="vpzn99r" class="keyword">true</span><span>){</span></li> <li id="7nxzj3n" class="alt"><span>                </span><span id="fpxppb7" class="keyword">if</span><span>(!highPriority.isEmpty()){</span></li> <li><span>                    System.out.print(highPriority.remove());</span></li> <li id="t9pzbbz" class="alt"><span>                    i++;</span></li> <li><span>                    k++;</span></li> <li id="n7rtzzh" class="alt"><span>                    System.out.println(</span><span id="n9jtvld" class="string">", i = "</span><span>+i+</span><span id="xz1799f" class="string">", k="</span><span>+k);</span></li> <li><span>                    </span><span id="r9ln9rr" class="keyword">break</span><span>;</span></li> <li id="fjtdfnp" class="alt"><span>                }</span></li> <li><span>                </span><span id="7fzxzhh" class="keyword">if</span><span>(!lowPriority.isEmpty()){</span></li> <li id="j3dvldt" class="alt"><span>                    System.out.print(lowPriority.remove());</span></li> <li><span>                    j++;</span></li> <li id="x7bvnnn" class="alt"><span>                    k++;</span></li> <li><span>                    System.out.println(</span><span id="jn1d9b9" class="string">", j = "</span><span>+j+</span><span id="5j9f7ff" class="string">", k="</span><span>+k);</span></li> <li id="rn7b7xj" class="alt"><span>                    </span><span id="p99rblj" class="keyword">break</span><span>;</span></li> <li><span>                }</span></li> <li id="jdxxpzp" class="alt"><span>                </span><span id="lpz197t" class="keyword">break</span><span>;</span></li> <li><span>            }</span></li> <li id="ptjjtbr" class="alt"><span>            </span><span id="jdf7hdv" class="keyword">try</span><span> {</span></li> <li><span>                Thread.sleep(</span><span id="79xfhbx" class="number">100</span><span>);</span></li> <li id="jn1j1ph" class="alt"><span>            } </span><span id="t33rf9z" class="keyword">catch</span><span> (InterruptedException e) {</span></li> <li><span>                e.printStackTrace();</span></li> <li id="rp79pxz" class="alt"><span>            }</span></li> <li><span>        }</span></li> <li id="7xzb1fn" class="alt"><span>    }</span></li> <li><span>}</span></li> </ol> <div><span id="dzpzpfv" class="Apple-style-span" style="color: #000000; line-height: 14px;"><br /> </span></div> <div><span id="p9hz9b9" class="Apple-style-span" style="color: #000000; line-height: 14px;">    <br /> </span></div> <div><span id="bnxv9fx" class="Apple-style-span" style="color: #000000; line-height: 14px;"> <br /> </span></div> <div><span id="tffnf9p" class="Apple-style-span" style="color: #000000; line-height: 14px;">        </span></div> <div><span id="fzjbjzr" class="Apple-style-span" style="color: #000000; line-height: 14px;">      榪樻湁涓縐嶆槸錛岄氳繃緇ф壙<span id="jd1bnnd" class="Apple-style-span" style="color: #333333; line-height: normal;"><span id="fxp9bjp" class="Apple-style-span" style="color: #000000; line-height: 14px;">PriorityQueue</span><span id="ddfhj7n" class="Apple-style-span" style="color: #000000; line-height: 14px;">騫跺疄鐜?span class="Apple-style-span" style="color: #333333; line-height: normal;">Comparable鎺ュ彛錛岀劧鍚庤嚜宸查噸鍐欒繃compareTo鏂規硶灝辮兘瀹炵幇寰堝己澶х殑浼樺厛綰ч槦鍒椾簡錛屼笉榪囩己鐐規槸綰跨▼涓嶅畨鍏ㄧ殑錛?/span></span></span></span></div> <div>      浠g爜濡備笅錛?/div> <div id="t9phphv" class="highlighter"> <ol class="highlighter-j"> <li><span id="7pzrzj3" class="keyword">package</span><span> test;</span></li> <li id="13tb3hh" class="alt"><br /> </li> <li><span id="b3nv93j" class="keyword">import</span><span> java.util.PriorityQueue;</span></li> <li id="r3vnpff" class="alt"><br /> </li> <li><span id="1rjhhxf" class="keyword">public</span><span> </span><span id="vzjbt3h" class="keyword">class</span><span> PriorityTest </span><span id="xz3xjbr" class="keyword">extends</span><span> PriorityQueue<PriorityTest.Test>{</span></li> <li id="bvdn79x" class="alt"><span>    </span><span id="r9fnd9x" class="keyword">static</span><span> </span><span id="z9ld9fh" class="keyword">class</span><span> Test </span><span id="rnhzt9f" class="keyword">implements</span><span> Comparable<Test>{</span></li> <li><span>        String packet;</span></li> <li id="1p99zpr" class="alt"><span>        </span><span id="jfd7zzj" class="keyword">int</span><span> priotity;</span></li> <li><span>        </span></li> <li id="jn93vnl" class="alt"><span>        </span><span id="nnnf3df" class="keyword">public</span><span> Test(String packet, </span><span id="nrbbltt" class="keyword">int</span><span> priotity) {</span></li> <li><span>            </span><span id="hbbj1zz" class="keyword">this</span><span>.packet = packet;</span></li> <li id="j7xppxr" class="alt"><span>            </span><span id="d79p9fx" class="keyword">this</span><span>.priotity = priotity;</span></li> <li><span>        }</span></li> <li id="xrrjjrx" class="alt"><span>        </span></li> <li><span>        </span><span id="b77pj9z" class="keyword">public</span><span> </span><span id="tf9vdtl" class="keyword">int</span><span> compareTo(Test arg) { </span></li> <li id="71dtb9f" class="alt"><span>            </span><span id="pllbtdd" class="keyword">if</span><span>(priotity < arg.priotity)</span></li> <li><span>                </span><span id="jdvdvl9" class="keyword">return</span><span> </span><span id="l99xffb" class="number">1</span><span>;</span></li> <li id="nph1rll" class="alt"><span>            </span><span id="hdnvnhx" class="keyword">else</span><span> </span><span id="xr73393" class="keyword">if</span><span>(priotity > arg.priotity)</span></li> <li><span>                </span><span id="9r7f9nx" class="keyword">return</span><span> -</span><span id="zv9b3vl" class="number">1</span><span>;</span></li> <li id="lh7xvf3" class="alt"><span>            </span><span id="7hzhtdf" class="keyword">else</span></li> <li><span>                </span><span id="f3h39xh" class="keyword">return</span><span> </span><span id="79zbdjt" class="number">0</span><span>;</span></li> <li id="d9zbjr3" class="alt"><span>        } </span></li> <li><span>        </span></li> <li id="nnv3hph" class="alt"><span>        </span><span id="7fprhb9" class="keyword">public</span><span> String toString(){</span></li> <li><span>            </span><span id="jldttlt" class="keyword">return</span><span> packet; </span></li> <li id="xbrzrrx" class="alt"><span>        }</span></li> <li><span>    }</span></li> <li id="b733hxh" class="alt"><span>    </span></li> <li><span>    </span><span id="1zj9zrr" class="keyword">public</span><span> </span><span id="h7l9nnl" class="keyword">void</span><span> add(String str, </span><span id="9ph9j39" class="keyword">int</span><span> priority){</span></li> <li id="bvvvfvn" class="alt"><span>        </span><span id="jlllfx7" class="keyword">super</span><span>.add(</span><span id="hdtt7p9" class="keyword">new</span><span> Test(str,priority));</span></li> <li><span>    }</span></li> <li id="hjdltlt" class="alt"><span>    </span></li> <li><span>    </span><span id="z7pxpjz" class="keyword">public</span><span> </span><span id="lnf79ff" class="keyword">static</span><span> </span><span id="lddn1z9" class="keyword">void</span><span> main(String args[]){</span></li> <li id="dzjzj33" class="alt"><span>        PriorityTest pTest = </span><span id="dppx73b" class="keyword">new</span><span> PriorityTest();</span></li> <li><span>        pTest.add(</span><span id="599xn97" class="string">"aaa"</span><span>,</span><span id="19trjz9" class="number">3</span><span>);  <span id="r93rh9v" class="Apple-style-span" style="color: #008200;">//浼樺厛綰ф渶楂?/span></span></li> <li id="lv7hrhp" class="alt"><span>        pTest.add(</span><span id="hvlttbb" class="string">"bbb"</span><span>,</span><span id="ht1tttl" class="number">2</span><span>);</span></li> <li><span>        pTest.add(</span><span id="fbll1j9" class="string">"ccc"</span><span>,</span><span id="vp19ldb" class="number">1</span><span>);</span></li> <li id="nblvlxd" class="alt"><span>        </span></li> <li><span>        </span><span id="7h9fnn3" class="keyword">while</span><span>(!pTest.isEmpty()){</span></li> <li id="zdntn71" class="alt"><span>            System.out.println(pTest.remove());</span></li> <li><span>        }</span></li> <li id="t79tdj3" class="alt"><span>    }</span></li> <li><span>}</span></li> <li id="p133nxn" class="alt"><br /> </li> </ol> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> 鎽樿嚜錛歨ttp://blog.csdn.net/liuzhengkang/archive/2009/01/05/3714047.aspx<br /> </div> <img src ="http://m.tkk7.com/shiliqiang/aggbug/291276.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/shiliqiang/" target="_blank">鐭沖ご@</a> 2009-08-15 17:25 <a href="http://m.tkk7.com/shiliqiang/articles/291276.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>铔囬樀綆楁硶http://m.tkk7.com/shiliqiang/articles/288421.html鐭沖ご@鐭沖ご@Sun, 26 Jul 2009 01:39:00 GMThttp://m.tkk7.com/shiliqiang/articles/288421.htmlhttp://m.tkk7.com/shiliqiang/comments/288421.htmlhttp://m.tkk7.com/shiliqiang/articles/288421.html#Feedback0http://m.tkk7.com/shiliqiang/comments/commentRss/288421.htmlhttp://m.tkk7.com/shiliqiang/services/trackbacks/288421.html
   鍦ㄦ弿榪扮畻娉曚箣鍓嶏紝鍏堢湅鐪嬩笅闈㈢殑5*5鐨勮〃鏍鹼細

 1  3  4  10  11
 2  5  9  12
 19
 6  8  13  18  20
 7  14  17  21  24
 15  16  22  23  25

    涓婇潰鐨勮〃鏍煎緢瀹規槗鐪嬪嚭瑙勫緥銆傚氨鏄粠宸︿笂瑙掔涓涓牸寮濮嬶紙璧峰涓?錛夛紝鐒跺悗寤跺彸涓婅鍒板乏涓嬭鐨勬枩綰褲傚厛浠庝笅鍒頒笂錛屽啀浠庝笂鍒頒笅銆傚紑濮嬫寜鏁板瓧閫掑鎺掑垪銆備篃灝辨槸璇存瘡涓涓枩綰夸笂鍒嗗埆鏈夊涓嬪嚑緇勬暟瀛楋細

1    2 3     4 5 6       7 8 9 10      11 12 13 14 15          16 17 18 19      20 21 22      23 24       25

    鐢變簬鏄厛浠庝笂鍒頒笅錛?鍙互鐪嬪仛鏄粠涓婂埌涓嬶級錛屽啀浠庝笅鍒頒笂錛屽緢璞′竴鏉¤泧錛屽洜姝わ紝璇ユ暟瀛楄〃鏍間篃鍙О涓鴻泧褰㈢煩闃點傜幇鍦ㄨ涓庝竴涓柟娉曪紙鎴栧嚱鏁幫級錛屾柟娉曠殑鍙傛暟鏄竴涓猧nt綾誨瀷錛岃〃紺簄錛屾柟娉曡繑鍥炰竴涓簩緇存暟緇勶紝琛ㄧず瑕佽幏寰楃殑寰榪旀帴鍔涙暟瀛楄〃鏍箋?br />     瀹為檯涓婏紝榪欎釜綆楁硶騫朵笉澶嶆潅錛屽彧闇瑕佷粠鍒嗗埆鑾峰緱1鑷硁^2涓瘡涓暟瀛楀搴旂殑浜岀淮鏁扮粍鐨勫潗鏍囧氨鍙互浜嗐傚厛鎷胯繖涓?琛?鍒楃殑琛ㄦ牸鏉ヨ錛屾眰鍑轟笂闈㈡瘡緇勬暟緇勫搴旂殑鍧愭爣錛堣搗濮嬩綅緗負0錛夈?br />
絎?緇?br /> 絎?緇?br /> 絎?緇?br /> 絎?緇?br /> 絎?緇?br /> 絎?緇?br /> 絎?緇?br /> 絎?緇?br /> 絎?緇?br /> 1    
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19
20 21 22
23 24
25
(0,0)
(1,0)   (0,1)
(0,2)   (1,1)   (2,0)
(3,0)   (2,1)   (1,2)   (0,3)
(0,4)   (1,3)   (2,2)   (3,1)   (4,0)
(4,1)   (3,2)   (2,3)   (1,4)
(2,4)   (3,3)   (4,2)
(4,3)   (3,4)
(4,4)
                                
    浠庝笂闈㈢殑浠庢爣鍙互鐪嬪嚭涓涓寰嬨?nbsp; 宸︿笂瑙掔殑鍗婁釜琛ㄦ牸錛堜互瀵硅綰垮垎鐣岋級鐨勬í鍧愭爣鍜岀旱鍧愭爣浠?寮濮嬶紝姣忎竴緇勫1錛岀洿鍒板鑷寵〃鏍肩殑杈圭晫錛坣 - 1錛夛紝鑰屼笖鏄氦鏇跨殑錛屼篃灝辨槸璇達紝鍋舵暟琛屾槸鍒楀錛岃鍑忓皬錛岃+鍒?緇勭殑绱㈠紩銆傝屽彸涓嬭鐨?緇勬暟瀛楄櫧鐒惰銆佸垪涔熸槸浜ゆ浛澧為暱鐨勶紝浣嗛掑噺鐨勮鎴栧垪鎬繪槸浠?n - 1)寮濮嬶紙瀵逛簬鏈緥錛屾槸浠?寮濮嬶級錛岃岄掑鐨勮鎴栧垪鎬繪槸浠巌ndex - n + 1寮濮嬶紝鍏朵腑index琛ㄧず緇勭殑绱㈠紩銆傝繖灝卞彲浠ュ緱鍑轟竴涓畻娉曘傚疄鐜頒唬鐮佸涓嬶細
public static int[][] getGrid(int n)
{
    
int[][] array = new int[n][n];
    
int row = 0, col = 0, m = 1;
    
//  鐢ㄤ簬鎺у埗濂囧伓緇勶紝false琛ㄧず鍋剁粍錛宼rue琛ㄧず濂囩粍
    boolean isRow = false;
    
//  i琛ㄧず褰撳墠緇勭殑绱㈠紩錛屼粠0寮濮?/span>
    for (int i = 0; i < (2 * n - 1); i++)
    {
        row 
= i;
        
while (row >= ((i < n) ? 0 : i - n + 1))
        {
            
//  濡傛灉澶勭悊鐨勬槸鍙充笅瑙掕〃鏍間腑鐨勬暟瀛楋紝琛屾垨鍒楁渶澶т笉鑳借秴榪噉-1
            if (row > (n - 1))
                row 
= n - 1;
            col 
= i - row;
            
if (isRow)
                array[row][col] 
= m;
            
else  //  灝唕ow鍙樻垚鍒楋紝灝哻ol鍙樻垚琛?/span>
                array[col][row] = m;
            m
++;
            row
--;
        }
        
//  鍒囨崲濂囧伓緇?/span>
        isRow = !isRow;
    }
    
return array;
}

   鏀硅繘綆楁硶

   涓婇潰瀹炵幇鐨勭畻娉曢渶瑕佸驚鐜疦*N嬈℃墠鍙互鐢熸垚铔囧艦鐭╅樀銆備絾浠旂粏鍒嗘瀽涓涓嬶紝榪樺彲浠ョ戶緇畝鍖栫畻娉曪紝浣垮驚鐜鏁板噺灝忚嚦N*N/2錛屼篃灝辨槸璇達紝鏁堢巼鍙互鎻愰珮涓鍊嶃傛垜 浠笂瀛︽椂鏇懼榪囩敤楂樻柉鐨勬柟娉曡綆?+2+3+...+100錛?  1 + 100 = 101錛? + 99 = 101錛?..錛?0+51 = 101錛屽洜姝わ紝緇撴灉鏄?01 * 50 = 5050銆傚緢鏂逛究銆傛垜浠繖涓畻娉曚篃鍙噰鐢ㄧ被浼肩殑鏂規硶銆備粩緇嗚瀵熶笂闈?*5鐨勬暟瀛楄〃鏍煎彂鐜幫紝綆楀嚭宸︿笂瑙掔殑鐭╅樀涓瘡涓涓暟瀛楀悗錛岄兘鍙互鐩存帴鑾峰緱鍙充笅瑙掑害鏌愪釜浣? 緗殑鏁板瓧銆備緥濡傚湪(0,0)浣嶇疆鐨?錛屽彲浠ュ悜鍒?4,4)浣嶇疆鐨?5錛?1,2)浣嶇疆鐨?鍙互寰楀埌(3,2)浣嶇疆鐨?7銆傛垜浠彂鐜幫紝姣忎竴瀵規暟涔嬪拰閮戒負 26銆傝屼笖瀹冧滑鍧愭爣鐨勫叧緋繪槸(row,col)錛?n - row - 1, n - col - 1)銆傚洜姝わ紝鍙寰楀埌宸︿笂瑙掔殑鍗婁釜鐭╅樀錛屽氨鍙互寰楀嚭鍙充笅瑙掔殑鍙﹀鍗婁釜鐭╅樀銆傚鏋渘涓哄鏁幫紝瀵硅綰夸腑闂寸殑涓涓暟錛堝湪5*5鐨勭煩闃典腑鏄?3錛変笌涔嬪搴旂殑鏁版槸鍏? 鑷韓銆傚ソ錛屾垜浠湅鐪嬫敼榪涚殑綆楁硶鐨勫疄鐜幫細

public static int[][] getGrid1(int n)
{
    
int[][] array = new int[n][n];
    
int row = 0, col = 0, m = 1;
    
int number1 =  (n * n / 2 + n * n % 2);
    
int number2 = n * n + 1;        
    
boolean isRow = false;
    
//  number1琛ㄧず瑕佽綆楃殑铔囧艦鐭╅樀涓渶澶х殑鏁板瓧錛屽浜?*5鐭╅樀鏉ヨ璇ユ暟鏄?3
    for (int i = 0; m < number1; i++)
    {
        row 
= i;
        
while (row >= 0)
        {
            col 
= i - row;
            
if (isRow)
            {
                array[row][col] 
= m;
                
//  濉厖涓巑瀵瑰簲鐨勫彟澶栦竴涓暟
                array[n - row - 1][n - col - 1= number2 - m;
            }
            
else
            {
                array[col][row] 
= m;
                
//  濉厖涓巑瀵瑰簲鐨勫彟澶栦竴涓暟
                array[n - col - 1][n - row - 1= number2 - m;

            }
            m
++;
            if(m >= number1) break;
            row--;
        }
        isRow 
= !isRow;
    }
    
return array;
}

   濡傛灉鎯寵緭鍑簄=10鐨勬暟瀛楄〃鏍鹼紝鍙互浣跨敤int[][] grid = getGrid(10)鎴杋nt[][] grid1 = getGrid1(10)錛屼細寰楀埌鍚屾牱鐨勭粨鏋溿傝緭鍑篻rid鍜実rid1錛岀湅鐪嬫槸涓嶆槸涓嬮潰鐨勭粨鏋滐細


1 3 4 10 11 21 22 36 37 55
2 5 9 12 20 23 35 38 54 56
6 8 13 19 24 34 39 53 57 72
7 14 18 25 33 40 52 58 71 73
15 17 26 32 41 51 59 70 74 85
16 27 31 42 50 60 69 75 84 86
28 30 43 49 61 68 76 83 87 94
29 44 48 62 67 77 82 88 93 95
45 47 63 66 78 81 89 92 96 99
46 64 65 79 80 90 91 97 98 100


鐭沖ご@ 2009-07-26 09:39 鍙戣〃璇勮
]]>
浜斿瓙媯婣I綆楁硶http://m.tkk7.com/shiliqiang/articles/286605.html鐭沖ご@鐭沖ご@Mon, 13 Jul 2009 10:46:00 GMThttp://m.tkk7.com/shiliqiang/articles/286605.htmlhttp://m.tkk7.com/shiliqiang/comments/286605.htmlhttp://m.tkk7.com/shiliqiang/articles/286605.html#Feedback0http://m.tkk7.com/shiliqiang/comments/commentRss/286605.htmlhttp://m.tkk7.com/shiliqiang/services/trackbacks/286605.html浜斿瓙媯嬬殑鏍稿績綆楁硶
2009騫?4鏈?2鏃?鏄熸湡涓?17:55
浜斿瓙媯嬫槸涓縐嶅彈澶т紬騫挎硾鍠滅埍鐨勬父鎴忥紝鍏惰鍒欑畝鍗曪紝鍙樺寲澶氱錛岄潪甯稿瘜鏈夎叮鍛蟲у拰娑堥仯鎬с傝繖閲岃璁″拰瀹炵幇浜嗕竴涓漢鏈哄涓嬬殑浜斿瓙媯嬬▼搴忥紝閲囩敤浜嗗崥寮堟爲鐨勬柟娉曪紝搴旂敤浜嗗壀鏋濆拰鏈澶ф渶灝忔爲鍘熺悊榪涜鎼滅儲鍙戠幇鏈濂界殑涓嬪瓙浣嶇疆銆備粙緇嶄簲瀛愭紼嬪簭鐨勬暟鎹粨鏋勩佽瘎鍒嗚鍒欍佽儨璐熷垽鏂柟娉曞拰鎼滅儲綆楁硶榪囩▼銆?

 

 

涓銆佺浉鍏崇殑鏁版嵁緇撴瀯
    鍏充簬鐩橀潰鎯呭喌鐨勮〃紺猴紝浠ラ摼琛ㄥ艦寮忚〃紺哄綋鍓嶇洏闈㈢殑鎯呭喌錛岀洰鐨勬槸鍙互鍏佽鐢ㄦ埛榪涜鎮旀銆佸洖閫絳夋搷浣溿?
    CList StepList;
    鍏朵腑Step緇撴瀯鐨勮〃紺轟負錛?/p>

    struct Step
    {
      int m; //m,n琛ㄧず涓や釜鍧愭爣鍊?
      int n;
      char side; //side琛ㄧず涓嬪瓙鏂?
    };
浠ユ暟緇勫艦寮忎繚瀛樺綋鍓嶇洏闈㈢殑鎯呭喌錛?
鐩殑鏄負浜嗗湪鏄劇ず褰撳墠鐩橀潰鎯呭喌鏃朵嬌鐢細
char FiveArea[FIVE_MAX_LINE][FIVE_MAX_LINE];

    鍏朵腑FIVE_MAX_LINE琛ㄧず鐩橀潰鏈澶х殑琛屾暟銆?/p>

    鍚屾椂鐢變簬闇瑕佸湪閫掑綊鎼滅儲鐨勮繃紼嬩腑鑰冭檻鏃墮棿鍜岀┖闂存湁鏁堟э紝鍙壘鍑哄氨褰撳墠鎯呭喌鏉ヨ鐩稿姣旇緝濂界殑鍑犱釜鐩橀潰錛岃屼笉鏄鎵鏈夌殑鍙笅瀛愮殑浣嶇疆閮借繘琛屾悳绱紝榪欓噷鐢ㄥ彉閲廋ountList鏉ヨ〃紺哄綋鍓嶆悳绱腑鍙互閫夋嫨鐨勬墍鏈夋柊鐨勭洏闈㈡儏鍐靛璞$殑闆嗗悎錛?/p>

CList CountList;
    鍏朵腑綾籆BoardSituiton涓?
class CBoardSituation
{
CList StepList; //姣忎竴姝ョ殑鍒楄〃
char FiveArea[FIVE_MAX_LINE][FIVE_MAX_LINE];
struct Step machineStep;    //鏈哄櫒鎵涓嬬殑閭d竴姝?
double value; //璇ョ鐩橀潰鐘舵佹墍寰楀埌鐨勫垎鏁?
}

浜屻佽瘎鍒嗚鍒?
    瀵逛簬涓嬪瓙鐨勯噸瑕佹ц瘎鍒嗭紝闇瑕佷粠鍏釜浣嶇疆鏉ヨ冭檻褰撳墠媯嬪眬鐨勬儏鍐碉紝鍒嗗埆涓猴細-,&brvbar;,/,,//,\


    瀹為檯涓婇渶瑕佽冭檻鍦ㄨ繖鍏釜浣嶇疆涓婃煇涓鏂規墍褰㈡垚鐨勫瓙鐨勫竷灞鐨勬儏鍐碉紝瀵逛簬鍦ㄨ繕娌℃湁瀛愮殑鍦版柟钀藉瓙浠ュ悗鐨勫綋鍓嶅眬闈㈢殑璇勫垎錛屼富瑕佹槸涓轟簡璇存槑鍦ㄨ繖涓湴鏂逛笅瀛愮殑閲嶈鎬х▼搴︼紝璁懼畾浜嗕竴涓畝鍗曠殑瑙勫垯鏉ヨ〃紺哄綋鍓嶆闈㈠鏈哄櫒鏂圭殑鍒嗘暟銆?/p>

    鍩烘湰鐨勮鍒欏涓嬶細

鍒ゆ柇鏄惁鑳芥垚5, 濡傛灉鏄満鍣ㄦ柟鐨勮瘽緇欎簣100000鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞100000 鍒嗭紱
鍒ゆ柇鏄惁鑳芥垚媧?鎴栬呮槸鍙屾4鎴栬呮槸姝?媧?錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?0000鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞10000鍒嗭紱
鍒ゆ柇鏄惁宸叉垚鍙屾椿3錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?000鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞5000 鍒嗭紱
鍒ゆ柇鏄惁鎴愭3媧?錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?000鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞1000 鍒嗭紱
鍒ゆ柇鏄惁鑳芥垚姝?錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?00鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞500鍒嗭紱
鍒ゆ柇鏄惁鑳芥垚鍗曟椿3錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?00鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞200鍒嗭紱
鍒ゆ柇鏄惁宸叉垚鍙屾椿2錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?00鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞100鍒嗭紱
鍒ゆ柇鏄惁鑳芥垚姝?錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?0鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞50鍒嗭紱
鍒ゆ柇鏄惁鑳芥垚鍙屾椿2錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?0鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞10鍒嗭紱
鍒ゆ柇鏄惁鑳芥垚媧?錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞5鍒嗭紱
鍒ゆ柇鏄惁鑳芥垚姝?錛屽鏋滄槸鏈哄櫒鏂圭殑璇濈粰浜?鍒嗭紝濡傛灉鏄漢鏂圭殑璇濈粰浜堬紞3鍒嗐?/p>

    瀹為檯涓婂褰撳墠鐨勫眬闈㈡寜鐓т笂闈㈢殑瑙勫垯鐨勯『搴忚繘琛屾瘮杈冿紝濡傛灉婊¤凍鏌愪竴鏉¤鍒欑殑璇濓紝灝辯粰璇ュ眬闈㈡墦鍒嗗茍淇濆瓨錛岀劧鍚庨鍑鴻鍒欑殑鍖歸厤銆傛敞鎰忚繖閲岀殑瑙勫垯鏄牴鎹竴鑸殑涓嬫瑙勫緥鐨勪竴涓葷粨錛屽湪瀹為檯榪愯鐨勬椂鍊欙紝鐢ㄦ埛鍙互娣誨姞瑙勫垯鍜屽璇勫垎鏈哄埗鍔犱互淇銆?/p>

涓夈佽儨璐熷垽鏂?
    瀹為檯涓婏紝鏄牴鎹綋鍓嶆渶鍚庝竴涓惤瀛愮殑鎯呭喌鏉ュ垽鏂儨璐熺殑銆傚疄闄呬笂闇瑕佷粠鍥涗釜浣嶇疆鍒ゆ柇錛屼互璇ュ瓙涓哄嚭鍙戠偣鐨勬按騫籌紝绔栫洿鍜屼袱鏉″垎鍒負 45搴﹁鍜?35搴﹁鐨勭嚎錛岀洰鐨勬槸鐪嬪湪榪欏洓涓柟鍚戞槸鍚︽渶鍚庤惤瀛愮殑涓鏂規瀯鎴愯繛緇簲涓殑媯嬪瓙錛屽鏋滄槸鐨勮瘽錛屽氨琛ㄧず璇ョ洏媯嬪眬宸茬粡鍒嗗嚭鑳滆礋銆傚叿浣撹涓嬮潰鐨勫浘紺猴細


鍥涖佹悳绱㈢畻娉曞疄鐜版弿榪?
    娉ㄦ剰涓嬮潰鐨勬牳蹇冪殑綆楁硶涓殑鍙橀噺currentBoardSituation錛岃〃紺哄綋鍓嶆満鍣ㄦ渶鏂扮殑鐩橀潰鎯呭喌, CountList琛ㄧず絎竴灞傚瓙鑺傜偣鍙互閫夋嫨鐨勮緝濂界殑鐩橀潰鐨勯泦鍚堛傛牳蹇冪殑綆楁硶濡備笅錛?
void MainDealFunction()
{
value=錛峂AXINT; //瀵瑰垵濮嬫牴鑺傜偣鐨剉alue璧嬪?
CalSeveralGoodPlace(currentBoardSituation,CountList);
//璇ュ嚱鏁版槸鏍規嵁褰撳墠鐨勭洏闈㈡儏鍐墊潵姣旇緝寰楀埌姣旇緝濂界殑鍙互鑰冭檻鐨勫嚑涓洏闈㈢殑鎯呭喌錛屽彲浠ユ牴鎹疄闄呯殑寰楀垎鎯呭喌閫夊彇鍒嗘暟姣旇緝楂樼殑鍑犱釜鐩橀潰錛屼篃灝辨槸璇村湪絎竴灞傝妭鐐歸夋嫨鐨勬椂鍊欓噰鐢ㄨ椽濠畻娉曪紝鐩存帴鎵懼嚭鐩稿鍒嗘暟姣旇緝楂樼殑鍑犱釜褰㈡垚絎竴灞傝妭鐐癸紝鐩殑鏄負浜嗘彁楂樻悳绱㈤熷害鍜岄槻姝㈠爢鏍堟孩鍑恒?
pos=CountList.GetHeadPosition();
CBoardSituation錛?pBoard;
for(i=0;ivalue=Search(pBoard,min,value,0);
Value=Select(value,pBoard錛?gt;value,max);
//鍙杤alue鍜宲Board錛?gt;value涓ぇ鐨勮祴緇欐牴鑺傜偣
}
for(i=0;ivalue)
//鎵懼嚭閭d竴涓緱鍒版渶楂樺垎鐨勭洏闈?
{
    currentBoardSituation=pBoard;
    PlayerMode=min; //褰撳墠涓嬪瓙鏂規敼涓轟漢
    Break;
}
}

    鍏朵腑瀵逛簬Search鍑芥暟鐨勮〃紺哄涓嬶細瀹為檯涓婃牳蹇冪殑綆楁硶鏄竴涓壀鏋濊繃紼嬶紝鍏朵腑鍦ㄨ繖涓悳绱㈣繃紼嬩腑鐩稿叧鐨勫洓涓弬鏁頒負錛氾紙1錛夊綋鍓嶆灞鎯呭喌錛涳紙2錛夊綋鍓嶇殑涓嬪瓙鏂癸紝鍙互鏄満鍣?max)鎴栬呮槸浜?min)錛涳紙3錛夌埗鑺傜偣鐨勫紀ldValue錛涳紙4錛夊綋鍓嶇殑鎼滅儲娣卞害depth銆?/p>

double Search(CBoardSituation錛?
board,int mode,double oldvalue,int depth)
{
CList m_DeepList;
if(deptholdvalue))==    TRUE)
      {
          if(mode==max)
            value=select(value,search(successor
          Board,min,value,depth錛?),max);
          else
            value=select(value,search(successor
            Board,max,value,depth錛?),min);
      }
      return value;
}
else
{
if ( goal(board)<>0)
//榪欓噷goal(board)<>0琛ㄧず宸茬粡鍙互鍒嗗嚭鑳滆礋
return goal(board);
else
return evlation(board);
        }
    }

    娉ㄦ剰榪欓噷鐨刧oal(board)鍑芥暟鏄敤鏉ュ垽鏂綋鍓嶇洏闈㈡槸鍚﹀彲浠ュ垎鍑鴻儨璐燂紝鑰宔vlation(board)鏄褰撳墠鐨勭洏闈粠鏈哄櫒鐨勮搴﹁繘琛屾墦鍒嗐?/p>

    涓嬮潰鏄疭elect鍑芥暟鐨勪粙緇嶏紝榪欎釜鍑芥暟鐨勪富瑕佺洰鐨勬槸鏍規嵁 PlayerMode鎯呭喌錛屽嵆鏄満鍣ㄨ繕鏄敤鎴鋒潵榪斿洖鑺傜偣鐨勫簲鏈夌殑鍊箋?/p>

double Select(double a,double b,int mode)
{
if(a>b 錛嗭紗 mode==max)&brvbar;&brvbar; (a< b 錛嗭紗 mode==min)
return a;
else
return b;
}

浜斻佸皬緇?
    鍦╓indows鎿嶄綔緋葷粺涓嬶紝鐢╒C錛嬶紜瀹炵幇浜嗚繖涓漢鏈哄鎴樼殑浜斿瓙媯嬬▼搴忋傚拰鍥藉唴璁稿鍙槸閲囩敤瑙勫垯鎴栬呭彧鏄噰鐢ㄧ畝鍗曢掑綊鑰屾病鏈夊壀鏋濈殑閭d簺紼嬪簭鐩告瘮錛屽湪鏅哄姏涓婂拰鏃墮棿鏈夋晥鎬т笂閮借濂戒簬榪欎簺紼嬪簭銆傚悓鏃舵墍璁ㄨ鐨勬柟娉曞拰璁捐榪囩▼涓虹敤鎴瘋璁″叾浠栫殑娓告垙錛堝璞℃鍜屽洿媯嬬瓑錛夋彁渚涗簡涓涓弬鑰?/p>



鐭沖ご@ 2009-07-13 18:46 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 久久精品国产亚洲精品2020| 国产精品亚洲精品日韩已满| 亚洲第一精品电影网| 久久久久久久99精品免费| 亚洲va无码va在线va天堂| 免费网站观看WWW在线观看| 亚洲精品美女久久777777| 国产免费AV片在线观看| 亚洲日韩精品一区二区三区无码| 成在线人视频免费视频| 亚洲高清国产拍精品26U| 日本免费久久久久久久网站| 亚洲第一视频网站| 日本最新免费网站| 亚洲日韩一区精品射精| 国产免费人成视频在线观看| 老司机精品视频免费| 久久久久亚洲精品天堂久久久久久| 精精国产www视频在线观看免费| 亚洲精品国产精品乱码视色 | 亚洲日本一线产区和二线 | 啦啦啦中文在线观看电视剧免费版 | 亚洲国产高清国产拍精品| 国产精品无码免费视频二三区| 无码精品人妻一区二区三区免费| 最新精品亚洲成a人在线观看| 一级毛片免费播放| 亚洲中文无码卡通动漫野外| 亚洲AⅤ视频一区二区三区| 国产一区二区免费| 中文字幕亚洲情99在线| 亚洲日本在线观看视频| 无码精品人妻一区二区三区免费看 | 亚洲午夜精品国产电影在线观看| 永久免费无码网站在线观看| 成人国产精品免费视频| 亚洲乱码一区av春药高潮| 亚洲一级Av无码毛片久久精品| 91视频免费网址| 无套内谢孕妇毛片免费看看| 日产亚洲一区二区三区|