require(['jquery'], function($) {
/**
* @param length 长度
* @param rangeFrom 数字范围的开始
* @param rangeTo 数字范围的结束
* @return array
*/
function getArray(length, rangeFrom, rangeTo) {
var tmpArray = [];
for (var i = 0; i < length; i++) {
var tmp = Math.floor((Math.random() * (rangeTo - rangeFrom) + rangeFrom));
tmpArray.push(tmp);
}
return tmpArray;
}
/**
* @param functionName 排序函数
* @param array 数组
* @return string 函数运行时间
*/
function calRunTime(functionName, array) {
var start = new Date().getTime();
functionName(array);
var end = new Date().getTime();
return (end - start) + "ms";
}
/**
* 冒泡排序(简化版)
* @param array
* @return array
*/
function bubbleSort_1(array) {
var len = array.length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < len - i; j++) {
if (array[j] > array[j + 1]) {
var tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}
return array;
}
var myArray = getArray(1000, 1, 100);
// console.log(myArray);
console.log(calRunTime(bubbleSort_1, myArray));
// console.log(myArray);
/**
* 冒泡排序(优化版) (ps:就提高一点点效率)
* @param array
* @return array
*/
function bubbleSort_2(array) {
var len = array.length;
var flag = true;
for (var i = 0; i < len && true; i++) {
flag = false;
for (var j = 0; j < len - i; j++) {
if (array[j] > array[j + 1]) {
var tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
flag = true;
}
}
}
return array;
}
var myArray = getArray(1000, 1, 100);
// console.log(myArray);
console.log(calRunTime(bubbleSort_2, myArray));
// console.log(myArray);
})
js-冒泡排序
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...