let arr = [1, 68, 4, 66, 88, 10, 39]
1.冒泡排序
function bubbleSort(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
bubbleSort(arr)
2.快速排序
function fastSort(arr) {
if (arr.length <= 1) {
return arr;
};
let midIndex = Math.floor(arr.length / 2);
let midNum = arr.splice(midIndex, 1)[0];
let leftArr = [];
let rightArr = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] < midNum) {
leftArr.push(arr[i]);
} else {
rightArr.push(arr[i]);
}
}
return fastSort(leftArr).concat([midNum], fastSort(rightArr));
}
fastSort(arr)
3.选择排序
function choseSort(arr) {
let minIndex;
let temp;
for(let i = 1; i < arr.length; i++) {
minIndex = i - 1;
for(let j = i; j <arr.length; j++) {
if(arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if(minIndex != i-1) {
temp = arr[i-1];
arr[i-1] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
choseSort(arr)
4.插入排序
function insertSort(arr) {
for (let i = 1; i < arr.length; i++) {
for (let j = i - 1; j >= 0 && arr[j] > arr[j + 1]; j--) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
insertSort(arr)
5.数组方法sort()
arr.sort((a,b) => {
return a - b
})