1、利用for循环分析冒泡排序
<script>
// 一共9个数组索引从0开始到8;
var arr = [43, 64, 23, 76, 23, 66, 54, 85, 24];
// 每一趟决定一个最大的数并放到最后
// 第一个for循环管趟数
for (var i = 0; i <= arr.length - 1; i++) {
// 内层循环保证每一趟最后一个数最大
// 第一趟时arr.length - 1 - i=7;而i从0开始所以走了8次
for (var j = 0; j <= arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
alert(arr);
// 第二趟i=2第二趟走7次就可以决定倒数第二个数的最大值
</script>
2、利用函数封装冒泡排序实现随意调用、并且实现遍历数组中的数据。
<body>
<script>
function sort(arr) {
for (var i = 0; i <= arr.length - 1; i++) {
for (var j = 0; arr.length - 1 - i >= j; ++j) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (var q = 0; q <= arr.length - 1; q++) {
console.log(arr[q]);
}
return arr;
}
var li1 = sort([22, 42, 145, 76, 43]);
console.log(li1);
var li2 = sort([86, 25, 13, 64, 13, 67, 15, 51]);
console.log(li2);