一、冒泡排序:依次比较相邻的两个元素,大小交换
var arr = [3, 5, 15, 36, 36, 27, 2, 38];
//冒泡排序
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
//return arr;
}
bubbleSort(arr);
for (var i = 0; i < arr.length; i++) {
alert(arr[i]);
}
二、选择排序:选出最值元素,放在首位,再在剩下的元素中继续选出最值。
//选择排序
var arr = [3, 5, 15, 36, 36, 27, 2, 38];
function selectSort(arr) {
var len = arr.length;
var minIndex, temp;
for (var i = 0; i < len - 1; i++) {
minIndex = i;
for (var j = i + 1; j < len; j++) {
//寻找最小的值,保存索引
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
selectSort(arr);
for (var i = 0; i < arr.length; i++) {
alert(arr[i]);
}