陣列排序方法

2021-08-28 17:40:59 字數 1855 閱讀 9375

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...