1.冒泡排序
什么是冒泡排序?就是一种简易的排序方法。主要过程就是从小到大(或从大到小)排序,并不断比较相邻的两个数组的大小按要求将小的置前(或将大的置前)。
流程图
怎么敲的?看下面的代码展示。
var arr = [10, 7, 5, 27, 98, 31]; // 要给这个数组里面的元素排序
for ( var i = 1;i < arr.length; i++ ) { //这个用来控制比较多少轮
for ( var j = 0; j < arr.length - 1; j++ ) { //这个控制需要参与比较的元素
if ( arr[ j ] > arr[ j+ 1 ] ) { //比较相邻的两个元素
var temp = arr[ j + 1];
arr[ j + 1 ] = arr[ j ];
arr[ j ] = temp;
}
} }
console.log( arr );//结果顺序从小到大排序好啦!5 , 7, 10, 27 ,31, 98
2.插入排序
插入排序是啥?就是冒泡排序的升级版
来,上展示图! 看清楚没?
冒泡排序是交换位置,我插入排序是直接拿出来按要求比较后,直接插队进去!
怎么敲的?看下面的代码展示。
var arr = [10, 8, 100, 31, 87, 70, 1, 88];// 老规矩排的就是这个数组中的元素
for ( var i = 1; i < arr.length; i++ ) { //意思是按从小到大的顺序排列,先遍历无序数组的下标
// 什么是下标?例如:arr[ 0 ] 这个。
for ( var j = i ; j > 0 ; j-- ){ //遍历并且比较 一个 无序数组元素与 所有 有序数组元素的大小
// (下面的代码都是为了完成这部操作除了输出代码以外)
if ( arr[ j - 1 ] > arr[ j ] ) {
var temp = arr[ j - 1 ];
arr[ j - 1 ] = arr[ j ];
arr[ j ] = temp;
}
}
}
console.log( arr ); //恭喜你排好了数据 1, 8, 10, 31, 70, 87, 88, 100
看到这里大功告成啦!希望你有所收获。感谢观看!