数组排序算法
选择排序
每次从待排序序列中找出最小(或最大)的元素,与当前位置的元素交换,依次将最小值放到已排序序列的末尾,直到全部有序。选择排序是不稳定排序。
function selectionSort(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[i]) {
arr[j] = arr[j] + arr[i];
arr[i] = arr[j] - arr[i];
arr[j] = arr[j] - arr[i];
}
}
}
return arr;
}
冒泡排序
重复遍历数组,依次比较相邻两个元素,顺序错误则交换位置,直到没有相邻元素需要交换为止。
function bubbleSort(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length - i; j++) {
if (arr[j] > arr[j + 1]) {
arr[j] = arr[j] + arr[j + 1];
arr[j + 1] = arr[j] - arr[j + 1];
arr[j] = arr[j] - arr[j + 1];
}
}
}
return arr;
}