JS 排序-氣泡排序,選擇排序
阿新 • • 發佈:2018-12-20
氣泡排序從第一個元素開始,對陣列中兩兩相鄰的元素比較,將值較小的元素放在前面,值較大的元素放在後面,一輪比較完畢,一個最大的數沉底成為陣列中的最後一個元素,一些較小的數如同氣泡一樣上浮一個位置。n個數,經過n-1輪比較後完成排序。
function bubbleSort(arr){ for(var i = 0;i < arr.length-1; i++){ //輪數 for(var j = 0;j < arr.length - 1 - i; j++){//次數 if(arr[j] > arr[j+1]){ var temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } return arr; }
選擇排序每次遍歷確定一個最小值,第幾次遍歷就把這個最小值放在陣列的第幾個位置 然後從後面的元素再次獲得最小值,在放到陣列前端, 重複上兩個步驟,知道遍歷到陣列的最後一個元素 有多少個元素,就要遍歷多少次
function selectSort(arr){ for(var i = 0;i < arr.length -1 ;i++){//輪數 var minIndex = i; //假定第一個數為最小值 for( var j = i+1; j<arr.length;j++){//比較次數 if(arr[minIndex]>arr[j]){ minIndex = j; } var temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } return arr; }