今天刚看了js里的数组冒泡排序,有点头大,评论说这个是js里面最简单的一种算法,压力很大…
废话不说,看练习吧.
将数组[5,4,3,2,1]数组按照从小到大排序
<script>
var arr=[5,4,3,2,1];
var temp;
for (var i = 0;i < arr.length;i++ ) { //总共多少趟,也就是第一个数排好算一趟,案例里面是需要4趟,为什么不是5趟,因为第4趟排好后,第5趟就好了.这里的 i < arr.length,arr.length的最大值是5,不大于5的数最大是4,刚好是数组的最大索引.
for(var j=0;j <= arr.length - i - 1;j++){ //变换次数,第1个与第2个数字交换,交换后,第2个与第3个交换...以此类推.
if(arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
console.log(arr);
</script>
将数组[45,96,25,32,85,22,25]数组按照从大到大排序
<script>
var arr2 = [45,96,25,32,85,22,25];
var temp2;
for (var x = 0; x < arr2.length;x++) {
for (var y = 0; y <= arr2.length - x -1; y++) {
if(arr2[y] < arr2[y+1] ){
temp2 = arr2[y];
arr2[y] = arr2[y+1];
arr2[y+1] = temp2;
}
}
}
console.log(arr2);
</script>