描述:使用冒泡排序,对数组的元素进行排列。
算法如下:
function sort(arr){
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr.ltngth;j++){
if(arr[j]>arr[j+1]){
var temp=arr[j]
arr[j]=arr[j+1]
arr[j+1]=temp
}
}
}
return arr;
}
解释:
这个算法思想就是先将第一个数字和数组其余数字比对,如果其余数字有比第一个数字大的,就将大的数字放置在后面,第一个数字比对完成后,开始第二个数字的比对,也就是第二轮i的for循环。
我们放上实例:
var arr1=sort([1,4,3,3,2,2,3])
console.log(arr1);
计算机运行过程如下:
第一轮:第一轮比对i=0;j递增至6结束,计算机为发现比1小的数,1的位置不变,准备开展第二轮。
第二轮:此时i=1,j递增至6结束,在这个循环过程中,计算机发现3,3,2,2,3,都比4小,所以将放在最后面。此时排列式【1,3,3,2,2,3,4】
第三轮:此时i=2,j递增至6结束,在这个循环过程中,计算机发现3,比4小,比1,2大,所以将放在最后面。此时排列式【1,3,2,2,3,3,4】
第四轮:此时i=3,j递增至6结束,在这个循环过程中,计算机发现3,比4小,比1,2大,所以将放在最后面。此时排列式【1,2,2,3,3,4】