﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-和风细雨-随笔分类-算法</title><link>http://www.blogjava.net/junglesong/category/29599.html</link><description>世上本无难事，心以为难，斯乃真难。苟不存一难之见于心，则运用之术自出。</description><language>zh-cn</language><lastBuildDate>Mon, 24 Mar 2008 21:35:48 GMT</lastBuildDate><pubDate>Mon, 24 Mar 2008 21:35:48 GMT</pubDate><ttl>60</ttl><item><title>全排列算法示例</title><link>http://www.blogjava.net/junglesong/archive/2008/03/25/188396.html</link><dc:creator>和风细雨</dc:creator><author>和风细雨</author><pubDate>Mon, 24 Mar 2008 21:33:00 GMT</pubDate><guid>http://www.blogjava.net/junglesong/archive/2008/03/25/188396.html</guid><wfw:comment>http://www.blogjava.net/junglesong/comments/188396.html</wfw:comment><comments>http://www.blogjava.net/junglesong/archive/2008/03/25/188396.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/junglesong/comments/commentRss/188396.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/junglesong/services/trackbacks/188396.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.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.sitinspring;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_26_433_Open_Image" onclick="this.style.display='none'; Codehighlighter1_26_433_Open_Text.style.display='none'; Codehighlighter1_26_433_Closed_Image.style.display='inline'; Codehighlighter1_26_433_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_26_433_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_26_433_Closed_Text.style.display='none'; Codehighlighter1_26_433_Open_Image.style.display='inline'; Codehighlighter1_26_433_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_26_433_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">/**&nbsp;*/</span><span id="Codehighlighter1_26_433_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;全排列算法示例<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />如果用P表示n个元素的排列，而Pi表示不包含元素i的排列，(i)Pi表示在排列Pi前加上前缀i的排列，那么，n个元素的排列可递归定义为：<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />如果n=1，则排列P只有一个元素i<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />如果n&gt;1，则排列P由排列(i)Pi构成（i=1、2、<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />.、n-1）。<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />根据定义，容易看出如果已经生成了k-1个元素的排列，那么，k个元素的排列可以在每个k-1个元素的排列Pi前添加元素i而生成。<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />例如2个元素的排列是1&nbsp;&nbsp;2和2&nbsp;&nbsp;&nbsp;1，对3个元素而言，p1是2&nbsp;&nbsp;3和3&nbsp;&nbsp;2，在每个排列前加上1即生成1&nbsp;2&nbsp;3和1&nbsp;3&nbsp;2两个新排列，<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />p2和p3则是1&nbsp;&nbsp;3、3&nbsp;&nbsp;1和1&nbsp;&nbsp;2、2&nbsp;&nbsp;1，<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />按同样方法可生成新排列2&nbsp;1&nbsp;3、2&nbsp;3&nbsp;1和3&nbsp;1&nbsp;2、3&nbsp;2&nbsp;1。<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">:&nbsp;sitinspring(junglesong@gmail.com)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;@date:&nbsp;2008-3-25<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_462_1068_Open_Image" onclick="this.style.display='none'; Codehighlighter1_462_1068_Open_Text.style.display='none'; Codehighlighter1_462_1068_Closed_Image.style.display='inline'; Codehighlighter1_462_1068_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_462_1068_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_462_1068_Closed_Text.style.display='none'; Codehighlighter1_462_1068_Open_Image.style.display='inline'; Codehighlighter1_462_1068_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Permutation</span><span style="color: #000000">&lt;</span><span style="color: #000000">T</span><span style="color: #000000">&gt;</span><span id="Codehighlighter1_462_1068_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_462_1068_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_503_625_Open_Image" onclick="this.style.display='none'; Codehighlighter1_503_625_Open_Text.style.display='none'; Codehighlighter1_503_625_Closed_Image.style.display='inline'; Codehighlighter1_503_625_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_503_625_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_503_625_Closed_Text.style.display='none'; Codehighlighter1_503_625_Open_Image.style.display='inline'; Codehighlighter1_503_625_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)</span><span id="Codehighlighter1_503_625_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_503_625_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_520_532_Open_Image" onclick="this.style.display='none'; Codehighlighter1_520_532_Open_Text.style.display='none'; Codehighlighter1_520_532_Closed_Image.style.display='inline'; Codehighlighter1_520_532_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_520_532_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_520_532_Closed_Text.style.display='none'; Codehighlighter1_520_532_Open_Image.style.display='inline'; Codehighlighter1_520_532_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;arr</span><span style="color: #000000">=</span><span id="Codehighlighter1_520_532_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_520_532_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">"</span><span style="color: #000000">1</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">2</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">3</span><span style="color: #000000">"</span><span style="color: #000000">}</span></span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Permutation</span><span style="color: #000000">&lt;</span><span style="color: #000000">String</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;a</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Permutation</span><span style="color: #000000">&lt;</span><span style="color: #000000">String</span><span style="color: #000000">&gt;</span><span style="color: #000000">();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.permutation(arr,</span><span style="color: #000000">0</span><span style="color: #000000">,arr.length);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_680_1066_Open_Image" onclick="this.style.display='none'; Codehighlighter1_680_1066_Open_Text.style.display='none'; Codehighlighter1_680_1066_Closed_Image.style.display='inline'; Codehighlighter1_680_1066_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_680_1066_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_680_1066_Closed_Text.style.display='none'; Codehighlighter1_680_1066_Open_Image.style.display='inline'; Codehighlighter1_680_1066_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;permutation(T[]&nbsp;arr,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;start,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;end)</span><span id="Codehighlighter1_680_1066_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_680_1066_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_699_961_Open_Image" onclick="this.style.display='none'; Codehighlighter1_699_961_Open_Text.style.display='none'; Codehighlighter1_699_961_Closed_Image.style.display='inline'; Codehighlighter1_699_961_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_699_961_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_699_961_Closed_Text.style.display='none'; Codehighlighter1_699_961_Open_Image.style.display='inline'; Codehighlighter1_699_961_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(start</span><span style="color: #000000">&lt;</span><span style="color: #000000">end</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">)</span><span id="Codehighlighter1_699_961_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_699_961_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;permutation(arr,start</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">,end);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_769_957_Open_Image" onclick="this.style.display='none'; Codehighlighter1_769_957_Open_Text.style.display='none'; Codehighlighter1_769_957_Closed_Image.style.display='inline'; Codehighlighter1_769_957_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_769_957_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_769_957_Closed_Text.style.display='none'; Codehighlighter1_769_957_Open_Image.style.display='inline'; Codehighlighter1_769_957_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">start</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">end;i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span id="Codehighlighter1_769_957_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_769_957_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T&nbsp;temp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp</span><span style="color: #000000">=</span><span style="color: #000000">arr[start];<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[start]</span><span style="color: #000000">=</span><span style="color: #000000">arr[i];<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[i]</span><span style="color: #000000">=</span><span style="color: #000000">temp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;permutation(arr,start</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">,end);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp</span><span style="color: #000000">=</span><span style="color: #000000">arr[i];<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[i]</span><span style="color: #000000">=</span><span style="color: #000000">arr[start];<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[start]</span><span style="color: #000000">=</span><span style="color: #000000">temp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_969_1063_Open_Image" onclick="this.style.display='none'; Codehighlighter1_969_1063_Open_Text.style.display='none'; Codehighlighter1_969_1063_Closed_Image.style.display='inline'; Codehighlighter1_969_1063_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_969_1063_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_969_1063_Closed_Text.style.display='none'; Codehighlighter1_969_1063_Open_Image.style.display='inline'; Codehighlighter1_969_1063_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span id="Codehighlighter1_969_1063_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_969_1063_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_996_1031_Open_Image" onclick="this.style.display='none'; Codehighlighter1_996_1031_Open_Text.style.display='none'; Codehighlighter1_996_1031_Closed_Image.style.display='inline'; Codehighlighter1_996_1031_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_996_1031_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_996_1031_Closed_Text.style.display='none'; Codehighlighter1_996_1031_Open_Image.style.display='inline'; Codehighlighter1_996_1031_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">end;i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span id="Codehighlighter1_996_1031_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.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_996_1031_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(arr[i]);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.print(</span><span style="color: #000000">"</span><span style="color: #000000">\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<img src ="http://www.blogjava.net/junglesong/aggbug/188396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/junglesong/" target="_blank">和风细雨</a> 2008-03-25 05:33 <a href="http://www.blogjava.net/junglesong/archive/2008/03/25/188396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>考试分数排序的三种排序方式的比较</title><link>http://www.blogjava.net/junglesong/archive/2008/03/10/185190.html</link><dc:creator>和风细雨</dc:creator><author>和风细雨</author><pubDate>Mon, 10 Mar 2008 13:20:00 GMT</pubDate><guid>http://www.blogjava.net/junglesong/archive/2008/03/10/185190.html</guid><wfw:comment>http://www.blogjava.net/junglesong/comments/185190.html</wfw:comment><comments>http://www.blogjava.net/junglesong/archive/2008/03/10/185190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/junglesong/comments/commentRss/185190.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/junglesong/services/trackbacks/185190.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 考试分数排序是一种特殊的排序方式，从0分到最高分都可能有成绩存在，如果考生数量巨大如高考，大量考生都在同一分数上，如果需要从低到高排序的话，很多同样分数的成绩也被比较了，这对排序结果是没有意义的，因为同一分数不需要比较，对于这种情况如果使用传统排序就会有浪费，如果先按分数建立好档次，再把考生成绩按分数放入档次就可以了。下面分别列出了三种方案的代码和比较结果：学生类：package&nb...&nbsp;&nbsp;<a href='http://www.blogjava.net/junglesong/archive/2008/03/10/185190.html'>阅读全文</a><img src ="http://www.blogjava.net/junglesong/aggbug/185190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/junglesong/" target="_blank">和风细雨</a> 2008-03-10 21:20 <a href="http://www.blogjava.net/junglesong/archive/2008/03/10/185190.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>二分查找示例二（对链表进行查找）</title><link>http://www.blogjava.net/junglesong/archive/2008/03/08/184686.html</link><dc:creator>和风细雨</dc:creator><author>和风细雨</author><pubDate>Sat, 08 Mar 2008 07:00:00 GMT</pubDate><guid>http://www.blogjava.net/junglesong/archive/2008/03/08/184686.html</guid><wfw:comment>http://www.blogjava.net/junglesong/comments/184686.html</wfw:comment><comments>http://www.blogjava.net/junglesong/archive/2008/03/08/184686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/junglesong/comments/commentRss/184686.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/junglesong/services/trackbacks/184686.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 成员类：package&nbsp;com.junglesong;public&nbsp;class&nbsp;Member&nbsp;implements&nbsp;Comparable{&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;name;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;int&n...&nbsp;&nbsp;<a href='http://www.blogjava.net/junglesong/archive/2008/03/08/184686.html'>阅读全文</a><img src ="http://www.blogjava.net/junglesong/aggbug/184686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/junglesong/" target="_blank">和风细雨</a> 2008-03-08 15:00 <a href="http://www.blogjava.net/junglesong/archive/2008/03/08/184686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>二分法查找示例</title><link>http://www.blogjava.net/junglesong/archive/2008/03/08/184678.html</link><dc:creator>和风细雨</dc:creator><author>和风细雨</author><pubDate>Sat, 08 Mar 2008 06:26:00 GMT</pubDate><guid>http://www.blogjava.net/junglesong/archive/2008/03/08/184678.html</guid><wfw:comment>http://www.blogjava.net/junglesong/comments/184678.html</wfw:comment><comments>http://www.blogjava.net/junglesong/archive/2008/03/08/184678.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/junglesong/comments/commentRss/184678.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/junglesong/services/trackbacks/184678.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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.junglesong;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img id="Codehighlighter1_25_106_Open_Image" onclick="this.style.display='none'; Codehighlighter1_25_106_Open_Text.style.display='none'; Codehighlighter1_25_106_Closed_Image.style.display='inline'; Codehighlighter1_25_106_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_25_106_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_25_106_Closed_Text.style.display='none'; Codehighlighter1_25_106_Open_Image.style.display='inline'; Codehighlighter1_25_106_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_25_106_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">/**&nbsp;*/</span><span id="Codehighlighter1_25_106_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;二分查找示例<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">:&nbsp;sitinspring(junglesong@gmail.com)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;*&nbsp;@date:&nbsp;2008-3-8<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_130_1057_Open_Image" onclick="this.style.display='none'; Codehighlighter1_130_1057_Open_Text.style.display='none'; Codehighlighter1_130_1057_Closed_Image.style.display='inline'; Codehighlighter1_130_1057_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_130_1057_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_130_1057_Closed_Text.style.display='none'; Codehighlighter1_130_1057_Open_Image.style.display='inline'; Codehighlighter1_130_1057_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;BinSearch</span><span id="Codehighlighter1_130_1057_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_130_1057_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_171_366_Open_Image" onclick="this.style.display='none'; Codehighlighter1_171_366_Open_Text.style.display='none'; Codehighlighter1_171_366_Closed_Image.style.display='inline'; Codehighlighter1_171_366_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_171_366_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_171_366_Closed_Text.style.display='none'; Codehighlighter1_171_366_Open_Image.style.display='inline'; Codehighlighter1_171_366_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)</span><span id="Codehighlighter1_171_366_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_171_366_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;欲查找的数组</span><span style="color: #008000"><br />
<img id="Codehighlighter1_197_230_Open_Image" onclick="this.style.display='none'; Codehighlighter1_197_230_Open_Text.style.display='none'; Codehighlighter1_197_230_Closed_Image.style.display='inline'; Codehighlighter1_197_230_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_197_230_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_197_230_Closed_Text.style.display='none'; Codehighlighter1_197_230_Open_Image.style.display='inline'; Codehighlighter1_197_230_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;arr</span><span style="color: #000000">=</span><span id="Codehighlighter1_197_230_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_197_230_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">1</span><span style="color: #000000">,</span><span style="color: #000000">2</span><span style="color: #000000">,</span><span style="color: #000000">3</span><span style="color: #000000">,</span><span style="color: #000000">4</span><span style="color: #000000">,</span><span style="color: #000000">5</span><span style="color: #000000">,</span><span style="color: #000000">6</span><span style="color: #000000">,</span><span style="color: #000000">77</span><span style="color: #000000">,</span><span style="color: #000000">88</span><span style="color: #000000">,</span><span style="color: #000000">656</span><span style="color: #000000">,</span><span style="color: #000000">5000</span><span style="color: #000000">,</span><span style="color: #000000">40000</span><span style="color: #000000">}</span></span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;测试数组</span><span style="color: #008000"><br />
<img id="Codehighlighter1_259_283_Open_Image" onclick="this.style.display='none'; Codehighlighter1_259_283_Open_Text.style.display='none'; Codehighlighter1_259_283_Closed_Image.style.display='inline'; Codehighlighter1_259_283_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_259_283_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_259_283_Closed_Text.style.display='none'; Codehighlighter1_259_283_Open_Image.style.display='inline'; Codehighlighter1_259_283_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;temp</span><span style="color: #000000">=</span><span id="Codehighlighter1_259_283_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_259_283_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">4</span><span style="color: #000000">,</span><span style="color: #000000">5</span><span style="color: #000000">,</span><span style="color: #000000">6</span><span style="color: #000000">,</span><span style="color: #000000">77</span><span style="color: #000000">,</span><span style="color: #000000">88</span><span style="color: #000000">,</span><span style="color: #000000">656</span><span style="color: #000000">,</span><span style="color: #000000">1</span><span style="color: #000000">,</span><span style="color: #000000">2</span><span style="color: #000000">,</span><span style="color: #000000">400</span><span style="color: #000000">}</span></span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_305_363_Open_Image" onclick="this.style.display='none'; Codehighlighter1_305_363_Open_Text.style.display='none'; Codehighlighter1_305_363_Closed_Image.style.display='inline'; Codehighlighter1_305_363_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_305_363_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_305_363_Closed_Text.style.display='none'; Codehighlighter1_305_363_Open_Image.style.display='inline'; Codehighlighter1_305_363_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i:temp)</span><span id="Codehighlighter1_305_363_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_305_363_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">值</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">i</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">的下标为</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">binSearch(arr,i));<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_371_478_Open_Image" onclick="this.style.display='none'; Codehighlighter1_371_478_Open_Text.style.display='none'; Codehighlighter1_371_478_Closed_Image.style.display='inline'; Codehighlighter1_371_478_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_371_478_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_371_478_Closed_Text.style.display='none'; Codehighlighter1_371_478_Open_Image.style.display='inline'; Codehighlighter1_371_478_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_371_478_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">/**&nbsp;*/</span><span id="Codehighlighter1_371_478_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;二分查找<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;sortedArray&nbsp;已排序的欲查找的数组<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;seachValue&nbsp;查找的值<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000">&nbsp;找到的元素下标，若找不到则返回-1<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_542_1055_Open_Image" onclick="this.style.display='none'; Codehighlighter1_542_1055_Open_Text.style.display='none'; Codehighlighter1_542_1055_Closed_Image.style.display='inline'; Codehighlighter1_542_1055_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_542_1055_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_542_1055_Closed_Text.style.display='none'; Codehighlighter1_542_1055_Open_Image.style.display='inline'; Codehighlighter1_542_1055_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;binSearch(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;sortedArray,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;seachValue)</span><span id="Codehighlighter1_542_1055_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_542_1055_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;左边界</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;leftBound</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;右边界</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;rightBound</span><span style="color: #000000">=</span><span style="color: #000000">sortedArray.length</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;当前下标位置</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;curr;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_660_1052_Open_Image" onclick="this.style.display='none'; Codehighlighter1_660_1052_Open_Text.style.display='none'; Codehighlighter1_660_1052_Closed_Image.style.display='inline'; Codehighlighter1_660_1052_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_660_1052_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_660_1052_Closed_Text.style.display='none'; Codehighlighter1_660_1052_Open_Image.style.display='inline'; Codehighlighter1_660_1052_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(</span><span style="color: #0000ff">true</span><span style="color: #000000">)</span><span id="Codehighlighter1_660_1052_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_660_1052_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;定位在左边界和右边界中间</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curr</span><span style="color: #000000">=</span><span style="color: #000000">(leftBound</span><span style="color: #000000">+</span><span style="color: #000000">rightBound)</span><span style="color: #000000">/</span><span style="color: #000000">2</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img id="Codehighlighter1_755_788_Open_Image" onclick="this.style.display='none'; Codehighlighter1_755_788_Open_Text.style.display='none'; Codehighlighter1_755_788_Closed_Image.style.display='inline'; Codehighlighter1_755_788_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_755_788_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_755_788_Closed_Text.style.display='none'; Codehighlighter1_755_788_Open_Image.style.display='inline'; Codehighlighter1_755_788_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(sortedArray[curr]</span><span style="color: #000000">==</span><span style="color: #000000">seachValue)</span><span id="Codehighlighter1_755_788_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_755_788_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;找到值</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;curr;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_822_865_Open_Image" onclick="this.style.display='none'; Codehighlighter1_822_865_Open_Text.style.display='none'; Codehighlighter1_822_865_Closed_Image.style.display='inline'; Codehighlighter1_822_865_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_822_865_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_822_865_Closed_Text.style.display='none'; Codehighlighter1_822_865_Open_Image.style.display='inline'; Codehighlighter1_822_865_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(leftBound</span><span style="color: #000000">&gt;</span><span style="color: #000000">rightBound)</span><span id="Codehighlighter1_822_865_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_822_865_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;左边界大于右边界，已经找不到值</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_874_1048_Open_Image" onclick="this.style.display='none'; Codehighlighter1_874_1048_Open_Text.style.display='none'; Codehighlighter1_874_1048_Closed_Image.style.display='inline'; Codehighlighter1_874_1048_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_874_1048_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_874_1048_Closed_Text.style.display='none'; Codehighlighter1_874_1048_Open_Image.style.display='inline'; Codehighlighter1_874_1048_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span id="Codehighlighter1_874_1048_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_874_1048_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_912_972_Open_Image" onclick="this.style.display='none'; Codehighlighter1_912_972_Open_Text.style.display='none'; Codehighlighter1_912_972_Closed_Image.style.display='inline'; Codehighlighter1_912_972_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_912_972_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_912_972_Closed_Text.style.display='none'; Codehighlighter1_912_972_Open_Image.style.display='inline'; Codehighlighter1_912_972_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(sortedArray[curr]</span><span style="color: #000000">&lt;</span><span style="color: #000000">seachValue)</span><span id="Codehighlighter1_912_972_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_912_972_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;当当前下标对应的值小于查找的值时，缩短左边界</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;leftBound</span><span style="color: #000000">=</span><span style="color: #000000">curr</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_982_1043_Open_Image" onclick="this.style.display='none'; Codehighlighter1_982_1043_Open_Text.style.display='none'; Codehighlighter1_982_1043_Closed_Image.style.display='inline'; Codehighlighter1_982_1043_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_982_1043_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_982_1043_Closed_Text.style.display='none'; Codehighlighter1_982_1043_Open_Image.style.display='inline'; Codehighlighter1_982_1043_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span id="Codehighlighter1_982_1043_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 alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_982_1043_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;当当前下标对应的值大于查找的值时，缩短右边界</span><span style="color: #008000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rightBound</span><span style="color: #000000">=</span><span style="color: #000000">curr</span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000">;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
<br />
代码下载：<br />
<a href="http://www.blogjava.net/Files/junglesong/BinSearch20080308150836.rar">http://www.blogjava.net/Files/junglesong/BinSearch20080308150836.rar</a> <br />
<img src ="http://www.blogjava.net/junglesong/aggbug/184678.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/junglesong/" target="_blank">和风细雨</a> 2008-03-08 14:26 <a href="http://www.blogjava.net/junglesong/archive/2008/03/08/184678.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求集合差的几种算法</title><link>http://www.blogjava.net/junglesong/archive/2008/03/08/184620.html</link><dc:creator>和风细雨</dc:creator><author>和风细雨</author><pubDate>Fri, 07 Mar 2008 18:25:00 GMT</pubDate><guid>http://www.blogjava.net/junglesong/archive/2008/03/08/184620.html</guid><wfw:comment>http://www.blogjava.net/junglesong/comments/184620.html</wfw:comment><comments>http://www.blogjava.net/junglesong/archive/2008/03/08/184620.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/junglesong/comments/commentRss/184620.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/junglesong/services/trackbacks/184620.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 原题（这里使用了数组代替集合）有两个数组：String[] arr01={"Andy","Bill","Cindy","Douglas","Felex","Green"};String[] arr02={"Andy","Bill","Felex","Green","Gates"};求存在于arr01而不存在于arr02的元素的集合？最容易想到的解法-双重循环packag...&nbsp;&nbsp;<a href='http://www.blogjava.net/junglesong/archive/2008/03/08/184620.html'>阅读全文</a><img src ="http://www.blogjava.net/junglesong/aggbug/184620.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/junglesong/" target="_blank">和风细雨</a> 2008-03-08 02:25 <a href="http://www.blogjava.net/junglesong/archive/2008/03/08/184620.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用LinkedHashMap进行分数排序</title><link>http://www.blogjava.net/junglesong/archive/2008/03/04/183785.html</link><dc:creator>和风细雨</dc:creator><author>和风细雨</author><pubDate>Tue, 04 Mar 2008 13:06:00 GMT</pubDate><guid>http://www.blogjava.net/junglesong/archive/2008/03/04/183785.html</guid><wfw:comment>http://www.blogjava.net/junglesong/comments/183785.html</wfw:comment><comments>http://www.blogjava.net/junglesong/archive/2008/03/04/183785.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/junglesong/comments/commentRss/183785.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/junglesong/services/trackbacks/183785.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 分数排序的特殊问题在java中实现排序远比C/C++简单,我们只要让集合中元素对应的类实现Comparable接口,然后调用Collections.sort();方法即可.这种方法对于排序存在许多相同元素的情况有些浪费,明显即使值相等,两个元素之间也要比较一下,这在现实中是没有意义的.典型例子就是学生成绩统计的问题,例如高考中,满分是150,成千上万的学生成绩都在0-150之间,平均一...&nbsp;&nbsp;<a href='http://www.blogjava.net/junglesong/archive/2008/03/04/183785.html'>阅读全文</a><img src ="http://www.blogjava.net/junglesong/aggbug/183785.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/junglesong/" target="_blank">和风细雨</a> 2008-03-04 21:06 <a href="http://www.blogjava.net/junglesong/archive/2008/03/04/183785.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用匿名类处理分类汇总的方法 </title><link>http://www.blogjava.net/junglesong/archive/2008/02/22/181350.html</link><dc:creator>和风细雨</dc:creator><author>和风细雨</author><pubDate>Fri, 22 Feb 2008 04:15:00 GMT</pubDate><guid>http://www.blogjava.net/junglesong/archive/2008/02/22/181350.html</guid><wfw:comment>http://www.blogjava.net/junglesong/comments/181350.html</wfw:comment><comments>http://www.blogjava.net/junglesong/archive/2008/02/22/181350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/junglesong/comments/commentRss/181350.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/junglesong/services/trackbacks/181350.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 分类汇总是统计中常用,举例来说如统计学生成绩,及格不及格的归类,分优良中差等级归类等,每个单项代码很好写,但是如果分类汇总的项目多了,能一种汇总写一个函数吗? 比如说有些科目60分才算及格,有些科目50分就算;有些老师喜欢分优良中差四等,有些老师却喜欢分ABCD;不一而足,如果每个都写一个函数无疑是个编写和维护恶梦. 如果我们用匿名类把分类汇总的规则和分类汇总的过程分别抽象出来,代码就清晰灵活多了...&nbsp;&nbsp;<a href='http://www.blogjava.net/junglesong/archive/2008/02/22/181350.html'>阅读全文</a><img src ="http://www.blogjava.net/junglesong/aggbug/181350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/junglesong/" target="_blank">和风细雨</a> 2008-02-22 12:15 <a href="http://www.blogjava.net/junglesong/archive/2008/02/22/181350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>