var arr =[6
,3,5
,1,9
,4,7
,8,2
];
1、氣泡排序:
比較相鄰的兩項,如果第一項比第二項大,則交換他們。
//氣泡排序
array.prototype.
bubblesort
=function()
}}} arr.
bubblesort()
;
2、選擇排序
原址比較排序演算法。找到資料結構中的最小值放在第一位,然後找到第二小的值放到第二位…
array.prototype.
selectsort
=function()
}if(minindex !== i)}}
arr.
selectsort()
;
3、插入排序
每一步將乙個待排序的記錄,插入到前面已經排好序的有序序列中去,直到插完所有元素為止。
array.prototype.
insertsort
=function()
this
[tempindex]
= temp;}}
arr.
insertsort()
;
4、歸併排序
是一種分治演算法。思想是將原始陣列分成較小的陣列直到每個陣列中只有一項,接著將小陣列按序歸併成大陣列。
function
mergesort
(originarr)
mid = math.
floor
(len /2)
; left = originarr.
slice(0
, mid)
; right = originarr.
slice
(mid, len)
;return
merge
(mergesort
(left)
,mergesort
(right));
}function
merge
(left, right)
else
}return resultarr.
concat
(left, right);}
var sortedarr =
mergesort
(arr)
;
5、快速排序
也是一種分治演算法。選擇陣列中的中間項作為key值,將比key小的項放入左側陣列中,比key大的想放到右側陣列中;然後對劃分後的小陣列重複此步驟。
function
quicksort
(originarr)
for(
var i =
0; i < len; i++
)else
if(curvalue > key)
else
}return
.concat
(quicksort
(left)
, mid,
quicksort
(right))}
var nowarr =
quicksort
(arr)
;
陣列排序(方法)
var arr 11 45,2 32,89 0 arr.sort function a,b document.write arr var arr 11 45,2 32,89 0 arr.reverse arr document.write arr 概念 陣列中相鄰元素兩兩比較,如果第乙個元素大於第二...
陣列排序方法
相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處 int k for int i 0 i1 i for int i 0 i 第乙個數依次與後面的數比較,第一次比較完之後最小的數在最前面 如果前面的數大於後面的數,就進行位置的交換。陣列排序之選擇排序 int arr int mini...
陣列排序方法
歸併排序 定義乙個新的陣列,將原來的陣列一分為二,將原來陣列的前一段第乙個元素和後一段第乙個元素比較 如果前乙個哪個元素小,就把那個元素放在新陣列裡面,然後緊接著較大的元素和另一半的下乙個元素 繼續比較,再選出乙個小的放在新陣列裡面。但是前提是原來這個陣列的兩半是排好順序的。public class...