javascriptアルゴリズム学習(直接挿入ソート)
1045 ワード
1、基本思想
順序付けされた記録は配列R[1.n]に保存されると仮定する.最初はR[1]が1つの順序領域となり、無秩序領域はR[2.. n]となる.i=2からi=nまで順次R[i]を現在の順序領域R[1.i-1]に挿入し、n個の記録を含む順序領域を生成する.
順序付けされた記録は配列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>