冒泡排序
冒泡排序:从序列的第一个元素开始,比较相邻的两个元素,如果满足条件,则交换它们的位置。继续比较下一对相邻元素,执行相同的操作,直到序列的末尾。
bash
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr.length-1-i;i++){
if(arr[j] >arr[j+1]){
let temp = arr[i]
arr[j]= arr[j+1]
arr[j+1]=temp
}
}
}
插入排序
插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动 。
概念看不明白的可以看 https://www.cnblogs.com/qingergege/p/7406622.html,这位博主有画参考图。
bash
for(let i=0;i<arr.length;i++){
int j=i;
while(j>0){
if(arr[j] < arr[j-1]){
let temp = arr[j]
arr[j] = arr[j-1]
arr[j-1] = temp
j--;
}else{
break;
}
}
}
选择排序
选择排序:通过遍历数组,选出该数组中较大的或者较小的,放在数组的起始位置,当遍历完整个数组时排序完成。
bash
for(let i=0;i<arr.length;i++){
let minIndex = i
for(let j=i+1;j<arr.length;j++){
if(arr[j] < arr[minIndex]){
minIndex = j
}
}
let temp = arr[i]
arr[i] = arr[minIndex]
arr[minIndex] = temp
}