冒泡,去重,快速排序選擇排序幾種演算法

2021-07-26 20:05:24 字數 1079 閱讀 9364

arr =[『9』,』8』,』7』,』6』,』5』,』4』,』3』,』2』,』1』,』0』]

氣泡排序有兩個迴圈外迴圈迴圈一次能把亂序陣列裡的最大值找出來放在相應的位置,內迴圈迴圈一次是執行外迴圈找到這個數的過程的過程

function

maopao

(arr)}}

alert(arr);

}

去重

先將原陣列順序排列,然後操作順序排列後的陣列這裡稱為新陣列,新陣列挨個拿出來放入空陣列,每次放入都要和空陣列的最後乙個比較。如果相同,就不放入空陣列。

function

num()

}alert(rep);

}

快速排序需要三個值,陣列裡第乙個值,最後乙個值和中間的乙個值。

var quicksort = function

(arr)

//找到中間的index

var pivotindex = math.floor(arr.length / 2);

//取中間index所對應的的值

var pivot = arr.splice(pivotindex, 1)[0];

var left = ;

var right = ;

//把比中間值大的放在right這個陣列裡,小的放在left這個陣列裡

for (var i = 0; i < arr.length; i++) else

}  //遞迴

return quicksort(left).concat([pivot], quicksort(right));

};

選擇排序

var p = [2, 4, 3, 1, 7, 5, 6, 9, 6, 0];

function

sorrt

(ary)

}ary[k] = ary[i]

ary[i] = _min

}return ary;

}pp = sorrt(p)

alert(pp)

氣泡排序 選擇排序 陣列去重

遍歷所有元素 從小到大排序 依次比較相鄰的兩個元素 小的放前面,大的放後面 效率很低 動態圖如下所示 示例 var arr 10 18,1 6,9 20,7 90 for var i 0 i arr.length 1 i console.log arr 執行結果如下 先找到所有元素中的最小值,然後將...

氣泡排序,選擇排序,陣列去重

首先定義乙個陣列 var arr 1,3,5,2,4,6 原理 相鄰的兩個數字依次對比,若前者大交則換位置,並且重複操作,直到所有數字依次排好序。程式的優化 1,內層迴圈優化1 內層迴圈次數 1 當前位和下一位比較 i 和 i 1 比較 當前迴圈的倒數第二位,已經和最後一位進行比較 當前迴圈的最後一...

氣泡排序,選擇排序,快速排序

1.氣泡排序 氣泡排序 bubble sort 最為簡單的一種排序,通過重複走完陣列的所有元素,通過打擂台的方式兩個兩個比較,直到沒有數可以交換的時候結束這個數,再到下個數,直到整個陣列排好順序。因乙個個浮出所以叫氣泡排序。雙重迴圈時間o n 2 void bubblesort int arr in...