javascriptアルゴリズム学習(直接挿入ソート)

1045 ワード

1、基本思想
順序付けされた記録は配列R[1.n]に保存されると仮定する.最初はR[1]が1つの順序領域となり、無秩序領域はR[2.. n]となる.i=2からi=nまで順次R[i]を現在の順序領域R[1.i-1]に挿入し、n個の記録を含む順序領域を生成する.
 
  


javascript



<br>var arr = []; <br>for(var i=0;i<20;++i) <br>{ <br>arr.push(~~(Math.random()*20)); <br>} <br>document.write(arr+"<br/>"); <br>Array.prototype.insertionSort = function() <br>{ <br>var j; <br>var value; <br>for(var i=1;i<this.length;i++) <br>{ <br>j=i; <br>value = this[j]; <br>while(j>0 && this[j-1]>value) <br>{ <br>this[j] = this[j-1]; <br>j--; <br>} <br>this[j] = value; <br>} <br>} <br>arr.insertionSort(); <br>document.write(arr+"<br/>"); <br>