冒泡排序法之优化比较
Posted 刘义博_网站程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序法之优化比较相关的知识,希望对你有一定的参考价值。
// 第一种方法
// var arr=[23,1,41,33,67,99,50];
// var outCount=0;
// var inCount=0;
// for(var i=0;i<arr.length-1;i++)
// {
// for(var j=0;j<arr.length-1;j++)
// {
// //两两相邻元素作比较
// //简单的说,先是第一个元素和第二个元素作比较,
// //抽象的说,一直遵循当前元素和下一个元素作比较,
// //能表示当前元素arr[j],下一个元素当然是arr[j+1]
//
// if(arr[j]>arr[j+1])
// {
// //交换位置
// var maxBack=arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=maxBack;
// }
// inCount++;
// }
// outCount++;
// }
// document.write(arr);
// document.write('<br>外循环:'+outCount+'次');
// document.write('<br>内循环:'+inCount+'次');
//第二种方法
// var arr=[23,1,41,33,67,99,50];
// var outCount=0;
// var inCount=0;
// for(var i=0;i<arr.length-1-i;i++)
// {
// for(var j=0;j<arr.length-1;j++)
// {
// //两两相邻元素作比较
// //简单的说,先是第一个元素和第二个元素作比较,
// //抽象的说,一直遵循当前元素和下一个元素作比较,
// //能表示当前元素arr[j],下一个元素当然是arr[j+1]
//
// if(arr[j]>arr[j+1])
// {
// //交换位置
// var maxBack=arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=maxBack;
// }
// inCount++;
// }
// outCount++;
// }
// document.write(arr);
// document.write('<br>外循环:'+outCount+'次');
// document.write('<br>内循环:'+inCount+'次');
//第三种方法
var arr=[23,1,41,33,67,99,50];
var outCount=0;
var inCount=0;
for(var i=0;i<arr.length-1-i;i++)
{
var issort=true;//假设排序ok
for(var j=0;j<arr.length-1;j++)
{
//之所以判断比较交换,是因为没有排好序
//两两相邻元素作比较
//简单的说,先是第一个元素和第二个元素作比较,
//抽象的说,一直遵循当前元素和下一个元素作比较,
//能表示当前元素arr[j],下一个元素当然是arr[j+1]
if(arr[j]>arr[j+1])
{
issort=false;
//交换位置
var maxBack=arr[j];
arr[j]=arr[j+1];
arr[j+1]=maxBack;
}
inCount++;
}
if(issort)
{
break;
}
outCount++;
}
document.write(arr);
document.write('<br>外循环:'+outCount+'次');
document.write('<br>内循环:'+inCount+'次');
以上是关于冒泡排序法之优化比较的主要内容,如果未能解决你的问题,请参考以下文章