码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序

时间:2017-07-13 01:09:59      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:title   har   位置   第三方   bre   五个   多少   r++   oct   

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
// 初级版本
var arr = [5, 4, 3, 2, 1];
// 外层控制比较的轮数(五个数比较四轮)
for (var i = 0; i < arr.length - 1; i++) {
// 内存循环 控制的是每轮比较多少次
for (var j = 0; j < arr.length - 1; j++) {
// 在每次比较的时候 如果前一向比后一项大,则交换位置
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}

}
console.log(arr);

// 优化版本
var arr = [5, 4, 3, 2, 1];
var m = 0;//计数器 看优化后少循环了多少次
// 外层控制比较的轮数(五个数比较四轮)
for (var i = 0; i < arr.length - 1; i++) {
// 内存循环 控制的始每轮比较多少次
// 通过-i来优化一下每轮比较的次数 4-0 4-1 4-2 4-3
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;
}
m++;
}

}
console.log(arr);
console.log(m);
// 终极版本
var arr = [5, 4, 3, 2, 1];
var m = 0;//计数器 看优化后少循环了多少次
var n=0 ;//看看优化的轮数效果如何
// 外层控制比较的轮数(五个数比较四轮)
for (var i = 0; i < arr.length - 1; i++) {
// 关于轮数优化
var onOff = true;
// 内存循环 控制的是每轮比较多少次
// 通过-i来优化一下每轮比较的次数 4-0 4-1 4-2 4-3
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;
// 如果有元素进来if ,说明没排好
onOff=false;
}
m++;
}
n++;
// 如果已经排好了
if(onOff == true){
break;//终止循环
}

}
console.log(arr);
console.log(m);
// 练习
var arr = [5, 4, 3, 2, 1,90];
var inner = 0;
var outer = 0;

for (var i = 0; i < arr.length - 1; i++) {
var onOff = true;
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;
onOff=false;
}
inner++;
}
outer++;
if (onOff == true) {
break;//终止循环
}
}
console.log(arr);
console.log(inner);
console.log(outer);
</script>
</body>
</html>

冒泡排序

标签:title   har   位置   第三方   bre   五个   多少   r++   oct   

原文地址:http://www.cnblogs.com/qwert1/p/7158068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!