用JS實現常見排序演算法

2022-08-24 03:21:09 字數 1487 閱讀 3603

嘗試用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...