Created
October 30, 2014 16:28
-
-
Save cheng470/e70a4c3dc73288f53e20 to your computer and use it in GitHub Desktop.
冒泡排序测试
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 生成随机整数 | |
* 范围为[0, 100) | |
*/ | |
var generateNumber = function() { | |
return parseInt(Math.random() * 100, 10); | |
} | |
/* | |
* 生成数组 | |
*/ | |
/* | |
* 数组打印 | |
*/ | |
var display = function(arr) { | |
arr.forEach(function(i, n) { | |
process.stdout.write(i + " "); | |
}); | |
process.stdout.write("\n"); | |
} | |
/* | |
* 数组交换 | |
*/ | |
var swap = function(arr, one, two) { | |
var tmp = arr[one]; | |
arr[one] = arr[two]; | |
arr[two] = tmp; | |
} | |
/* | |
* 冒泡排序 | |
*/ | |
var bubbleSort = function(arr) { | |
var len = arr.length, | |
flag, | |
right, | |
left; | |
for (right = len - 1; right > 0; right--) { | |
flag = true; | |
for (left = 0; left < right; left++) { | |
if (arr[left] > arr[left + 1]) { | |
swap(arr, left, left + 1); | |
flag = false; | |
} | |
} | |
if (flag) { | |
break; | |
} | |
} | |
} | |
var arr = []; | |
var i, len = 10; | |
for (i = 0; i < len; i++) { | |
arr.push(generateNumber()); | |
} | |
display(arr); | |
bubbleSort(arr); | |
display(arr); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment