演算法步驟:
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
//氣泡排序
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...