嘗試用js實現了幾種常見的排序演算法(插入排序、交換排序、選擇排序)
//插入排序
//直接插入排序
array.prototype.insertsort=function
()
this[j+1]=temp;
}return
this
};console.log([12,15,9,20,6,31,24,48,2,98,100,34678,2348].insertsort());
//希爾排序,時間複雜度
array.prototype.shellsort=function
()
this[j + d] =temp;
} }
return
this;};
console.log([12,15,9,20,6,31,24].shellsort());
//交換排序
//氣泡排序
array.prototype.bubblesort= function
() }
}
return
this
};console.log([50,13,55,97,27,38,49,65].bubblesort());
//快速排序
function
quicksort(r,first,end)
//一次劃分函式
function
partition(r,first,end)
//左側掃瞄
while(i;
if(i
}return
i; }
returnr}
console.log(quicksort([23,13,49,6,31,19,28],0,6));
//選擇排序
//簡單選擇排序
array.prototype.selectsort=function
()
if(index!=i)
}
return
this
};console.log([49,27,65,97,76,13,38].selectsort());
//堆排序
array.prototype.heapsort=function
()
this[0]=null
;
;for(i=n/2;i>=1;i--)
;for(i=1;i)
this.splice(0,1);
return
this
;
function
sift(arr,k,m)
else}}
};console.log([36,30,18,40,32,45,22,50].heapsort());
常見排序演算法 JS實現
氣泡排序 bubblesort 每輪排序選出乙個最小或最大的元素再乙個個插入陣列 選擇排序 selectionsort this swap min,i 從未排序元素中挑出乙個元素挨個跟區域性有序的元素進行比較,找到對應位置插入即可 插入排序 insertsort this array j temp ...
js實現常見排序演算法
電腦配置 cpu amd x4 640 記憶體 巨集想 ddr3 1600mhz 8g 主機板 華擎 980de3 u3s3 r2.0 瀏覽器 chrome 79.0.3945.88 正式版本 64 位 時間測試函式 function testruntime fn 1.氣泡排序 2.選擇排序 3.插...
js實現常見的排序演算法
插入排序的實現 function insertsort2 arr arr j 1 temp 插入排序改進,判斷j 0 function insertsort2 arr arr j 1 temp 希爾排序 分割策略 縮小增量排序 折半插入 function shellsort arr arr k ga...