算法:程序中完成一项任务所执行的步骤统称为算法
JAVA十大经典排序算法最强总结(含JAVA代码实现) - 喜葵 - 博客园
1.冒泡排序:
原理: 两两相比,一轮比出最大值或最小值
[8, 7, 9, 2];
[7, 8, 9, 2];
[7, 8, 9, 2];
[7, 8, 2, 9];
[7, 8, 2, 9];
[7, 2, 8, 9];
[2, 7, 8, 9];
var array = [8, 7, 9, 2];
function bubble(array) {
for (var i = 0; i < array.length - 1; i++) {
for (var j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
var temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp
}
}
}
return array;
}
console.log(bubble(array));
2.选择排序
原理:找出最小的索引值,交换位置
var array = [8, 7, 9, 2];
function select(array) {
for (var i = 0; i < array.length - 1; i++) {
var min = i; //假设i为最小值对应的索引
for (var j = i + 1; j < array.length; j++) {
if (array[min] > array[j]) {
min = j;
}
}
var temp = array[min];
array[min] = array[i];
array[i] = temp;
}
return array;
}
console.log(select(array)); //[ 2, 7, 8, 9 ]