排序
十大经典排序算法-原文连接
本博客只用于自己的笔记记录
冒泡排序
const arr=[20,30,10,2,60,4,28]
var n=0
function bubblesort(arr) {
let l=arr.length
// 由于从零开始,因此数组长度减一即可
for(let i=0;i<l-1;i++){
// 由于一次冒泡肯定能找出一个最大,因此再-i就可实现排序
for(let j=0;j<l-1-i;j++){
if(arr[j]<arr[j+1]){
let temp=0
temp=arr[j]
arr[j]=arr[j+1]
arr[j+1]=temp
}
n++
}
}
}
console.log(arr)
bubblesort(arr)
console.log(arr)
console.log(n)
选择排序
// 选择排序 比较一遍最小的放前边
function selectionSort(arr){
let l=arr.length
let minindex;
for (let i = 0; i < l-1 ;i++) {
// 保存i次循环的,设此索引的数组元素为最小值
minindex=i
for (let j = i+1; j < l; j++) {
if(arr[j]<arr[minindex]){
// 如果此索引值是大值,那么将最小值的索引交给与之相比的另一个数
minindex=j
}
}
temp=arr[i]
arr[i]=arr[minindex]
arr[minindex]=temp
}
}
console.log(arr)