.JavaScript冒泡排序详解
/*
冒泡排序
1、定义函数
2、计算数组的长度
3、循环数组中的每一个元素
4、判断数组的前一项是否大于后一项
*/
function number(){
//arr.length数组的长度,因为数组的最大下标是数组的长度-1
//把arr.length-1的值储存在变量len中
var len=arr.length-1;
//循环数组中的每一个元素,
for(var i=0;i<len;i++){
for(var j=0;j<len-i;j++){
//判断数组的前一项是否大于后一项,
//如果大于则执行if语句里的内容,反之不执行
if(arr[j]>arr[j+1]){
//把数组后一项的值赋给一个变量
var temp=arr[j+1];
//把数组前一项的值赋值给后一项
arr[j+1]=arr[j];
//把数组后一项的值给前一项
arr[j]=temp;
}
}
}
}
var arr=[1,2,6,5,2,1,4,5,6,3,8,9,2,8,9];
number(arr);//执行函数number把数组arr带进去
console.log(arr);//打印结果[1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 6, 8, 8, 9, 9]
冒泡排序的纯代码
function sorts(arr){
var len=arr.length-1;
for(var i=0;i<len;i++){
for(var j=0;j<len-i;j++){
if(arr[j]>arr[j+1]){
// if(arr[j+1]-arr[j]<0)
var temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
}
var arr=[1,2,6,5,2,1,4,5,6,3,8,9,2,8,9];
number(arr);//执行函数number把数组arr带进去
console.log(arr);//打印结果[1, 1, 2, 2, 2, 3, 4, 5, 5, 6, 6, 8, 8, 9, 9]