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 + 1]; // 元素交换
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
var arr = [3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48];
document.write(bubbleSort(arr));
2、选择排序:通过比较首先选出最小的数放在第一个位置上,然后在其余的数中选择次小数放在第二个位置,以此类推,知道所有的数成为有序序列(打擂台法)
function selectSort(arr) {
for (var i = 0; i < arr.length - 1; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
var tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
return arr;
}
var arr=[49,38,65,97,76,13,27,49];
document.write(selectSort(arr));