<div class="htmlarea"> <textarea id="runcode88813"> <script> function quickSort() { function doSort(a,s,e) { if(s<e) { var pos=partition(a,s,e); doSort(a,s,pos-1); doSort(a,pos+1,e); } } function partition(a,st,en) { var s=st; var e=en+1; var temp=a[s]; while(1) { while(a[++s]<temp); while(a[--e]>temp); if(s>e)break; var tem=a[s]; a[s]=a[e]; a[e]=tem; } a[st]=a[e]; a[e]=temp; return e; } doSort(this,0,this.length-1); return this; } Array.prototype.quickSort=quickSort; alert(new Array(5,2,4,6,1).quickSort()); </script> </textarea><br><input onclick="runEx('runcode88813')" type="button" value="运行代码"> <input onclick="doCopy('runcode88813')" type="button" value="复制代码"> <input onclick="doSave(runcode88813)" type="button" value="保存代码">[Ctrl+A 全选 注:<a href="http://www.jb51.net/article/23421.htm" title="查看具体详情" target="_blank">如需引入外部Js需刷新才能执行</a>]</div> <br><div class="codetitle"> <span><a style="CURSOR: pointer" data="58501" class="copybut" id="copybut58501" onclick="doCopy('code58501')"><u>复制代码</u></a></span> 代码如下:</div> <div class="codebody" id="code58501"> <br>再你多快,你快不过Array.prototype.sort <br>var a=[4,723,3,5,67,32,4,43,34,545,43,43,,234,7,367,7,87,23,6,78,7957,t,84,78,34,536,2345,4534566,67,67,54,45,797,67,8798,76543,8]; <br>alert(a.sort()); <br>这才是最快的<br> </div> <br><strong>加个二叉树排序</strong><br><div class="htmlarea"> <textarea id="runcode80527"> <script language="JavaScript"> function node(data){ this.data = data; var Lnode; var Rnode; this.insert = function insert(newData){ if(newData<this.data){ if( this.Lnode == null){ this.Lnode = new node(newData); }else{ this.Lnode.insert(newData); } }else{ if(this.Rnode == null){ this.Rnode = new node(newData); }else{ this.Rnode.insert(newData); } } } } function tree(){ var root ; this.insertNode = function insertNode(newData){ if(this.root == null) { this.root = new node(newData); this.index = 0; }else{ this.root.insert(newData); } } this.inOrderTraversal = function inOrderTraversal(){ //中序便历 this.inOrder(this.root); } this.inOrder = function inOrder(N){ if (N!=null){ this.inOrder(N.Lnode); //输出结果 document.write(N.data + " "); this.inOrder(N.Rnode); } } } //test随便插入一些数字进来。 var T=new tree(); T.insertNode(39); T.insertNode(69); T.insertNode(94); T.insertNode(47); T.insertNode(50); T.insertNode(72); T.insertNode(55); T.insertNode(41); T.insertNode(97); T.insertNode(73); T.inOrderTraversal(); </script> <table cellspacing="1" width="75%" border="1"> <tr> <td></td> </tr> </table> </textarea><br><input onclick="runEx('runcode80527')" type="button" value="运行代码"> <input onclick="doCopy('runcode80527')" type="button" value="复制代码"> <input onclick="doSave(runcode80527)" type="button" value="保存代码">[Ctrl+A 全选 注:<a href="http://www.jb51.net/article/23421.htm" title="查看具体详情" target="_blank">如需引入外部Js需刷新才能执行</a>]</div>