Skip to content

Instantly share code, notes, and snippets.

@cheng470
Created October 30, 2014 16:28
Show Gist options
  • Save cheng470/e70a4c3dc73288f53e20 to your computer and use it in GitHub Desktop.
Save cheng470/e70a4c3dc73288f53e20 to your computer and use it in GitHub Desktop.
冒泡排序测试
/*
* 生成随机整数
* 范围为[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