- 冒泡排序
冒泡排序 是最慢的排序算法之一
相邻两个数据之间进行比较,较大的向右移动,每次比较找出最大值,每比较一次,需要比较的数组长度减1
function bubbleSort(data) {
let dataLenght = data.length;
for (let i = 0; i < dataLenght - 1; i++) {
for (let j = 0; j < dataLenght - i - 1; j++) {
let temp = data[j];
if (data[j] > data[j + 1]) {
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
return data;
}
- 选择排序
从数组的开头开始,将第一个元素和其他元素比较,最小的元素会被放到第一个位置。再从第二个位置继续
从0位置开始,假设为小值位置,剩余元素和假设位置进行比较,如果较小,则将较小替换,内层循环每次找到最小值,然后再和假设位置进行交换
function selectionSort(data) {
let min;
for (i = 0; i < data.length - 1; i++) {
min = i;
for (let j = i + 1; j <= data.length - 1; j++) {
if (data[j] < data[min]) {
min = j;
}
}
let temp = data[i];
data[i] = data[min];
data[min] = temp;
}
return data;
}