排序演算法是js最基礎的演算法
1.氣泡排序
2.快速排序
3.選擇排序
4.插入排序
氣泡排序
氣泡排序的思想就是從左到右依次比較陣列a相鄰的兩個數,將較大的數放到後面,一輪比較之後,最大的數會排到最後面;第二輪比較後次大的數會在倒數第二的位置,直到進行a.length次比較後,陣列就會公升序排列。
function bubblesort
(arr)})
})return arr
}bubblesort([
2,4,
1,7,
3,5]
)//[1, 2, 3, 4, 5, 7]
快速排序
快速排序的思想是選定乙個數為基準,小於這個基準的數放到左邊,大於或等於基準的數放右邊;然後對左邊和右邊的數分別進行快速排序,最後合併左邊、基準和右邊即可。
function quicksort
(arr)
else
else})
return
quicksort
(left)
.concat
(arr[0]
,quicksort
(right))}
}quicksort([
2,4,
1,7,
3,5]
)//[1, 2, 3, 4, 5, 7]```
**選擇排序*
*選擇排序的思想是每次從陣列中選出乙個最小數放到陣列最前面,第二次選擇剩餘數里最大的放到陣列第二位,直到所有的數都被選擇完
```cpp
//選擇排序——每次選擇出最小的數,排到最前面
function selectsort
(arr))if
(minindex !=
= i)})
return arr
}selectsort([
2,4,
1,7,
3,5]
)//[1, 2, 3, 4, 5, 7]
//選擇排序——每次選擇出最大的數,排到最後面
function selectsort
(arr))if
(maxindex !=
= lastindex)})
return arr
}selectsort([
2,4,
1,7,
3,5]
)//[1, 2, 3, 4, 5, 7]
插入排序
插入排序的思想是依次取出原陣列中的乙個數插入到乙個有序陣列中正確的位置,直到原陣列裡的數都被取完放入新陣列,這裡需要用到乙個新的陣列。
function insertsort
(arr)
else})
if(!flag)newarr.
push
(v)}})
return newarr
}insertsort([
2,4,
1,7,
3,5]
)//[1, 2, 3, 4, 5, 7]
JS 常見排序演算法
氣泡排序 function bubblesort myarray return myarray function swap myarray,p1,p2 var myarray 3 44,38 5,47 15,36 26,27 2,46 4,19 50,48 var result bubblesort...
常見排序演算法 js
共總結了冒泡,選擇,插入,歸併,快速,希爾,堆七種排序方式,而v8引擎sort的排序 陣列長度小於等於 10的用插入排序,其它的用快速排序。不穩定演算法 快 希 選 堆 以下是演算法可能涉及到的公共函式 排除非陣列 function checkarray array 交換兩個元素 function ...
js常見排序演算法
找出最大的排在後面 var bubblesort function originalarray return arr 找出最小的排在前面 var selectionsort function originalarray if minindex i return arr var insertionso...