陣列排序的幾種方法

2021-10-06 17:59:44 字數 1185 閱讀 8528

演算法步驟:

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

//氣泡排序

function

bubblesort

( data )}}

return data;

}

演算法步驟:

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。

重複第二步,直到所有元素均排序完畢。

時間複雜度:o(n²)

//選擇排序

function

selectionsort

( data )

} temp = data[i]

; data[i]

= min;

data[minindex]

= temp;

}return data;

}

演算法步驟:

將第一待排序序列第乙個元素看做乙個有序序列,把第二個元素到最後乙個元素當成是未排序序列。

從頭到尾依次掃瞄未排序序列,將掃瞄到的每個元素插入有序序列的適當位置。(如果待插入的元素與有序序列中的某個元素相等,則將待插入元素插入到相等元素的後面。)

function

insertionsort

(arr)

arr[preindex+1]

= current;

}return arr;

}

演算法步驟:

從數列中挑出乙個元素,稱為 「基準」(pivot)

重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。在這個分割槽退出之後,該基準就處於數列的中間位置。這個稱為分割槽(partition)操作

遞迴地(recursive)把小於基準值元素的子數列和大於基準值元素的子數列排序;

js陣列排序的幾種方法

sort 陣列物件排序 其原理是氣泡排序,即比較相鄰的元素,如果第乙個比第二個大,就交換他們兩個。var arr console.log arr console.log arr 0 var compare function obj1,obj2 else if val1 val2 else conso...

排序的幾種方法

三種排序 選擇排序,氣泡排序,插入排序 的總結 1.選擇排序 1 public class demo3 遍歷排序前的數值 for int i 0 i num.length 1 i 如果最小值的標號未改變,代表本身已是最小值,否則交換數值 if min i 遍歷排序後的數值 for int i 0 i...

排序的幾種方法

三種排序 選擇排序,氣泡排序,插入排序 的總結 1.選擇排序 1 public class demo3 遍歷排序前的數值 for int i 0 i num.length 1 i 如果最小值的標號未改變,代表本身已是最小值,否則交換數值 if min i 遍歷排序後的數值 for int i 0 i...