Skip to content

Commit da7c2b9

Browse files
committed
bubbleSort
冒泡排序
1 parent dd79dad commit da7c2b9

1 file changed

Lines changed: 30 additions & 3 deletions

File tree

sort.js

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,51 @@ function selectionSort(arr){
1616
var
1717
i = arr.length - 1,
1818
j,
19+
buffer,
1920
special; //最大或最小值的位置
2021

2122
// 采用倒序,提高查找性能
2223
for (; i >= 0; i--) {
2324
special = i;
25+
buffer = arr[i];
2426

2527
for (j = i - 1; j >= 0; j--) {
2628

2729
// 正序与倒序取决于这里的判断,max or min
28-
if(arr[special] < arr[j]){
30+
if(buffer < arr[j]){
2931
// 当前的最值位置
3032
special = j;
33+
buffer = arr[j];
3134
}
3235
}
33-
3436
// 最值与当前位置的值交换位置
35-
arr[special] = [arr[i], arr[i] = arr[special]][0];
37+
arr[special] = [ arr[i], arr[i]=buffer ][0];
3638
}
3739

3840
return arr;
3941
}
42+
43+
44+
/**
45+
*冒泡排序 http://en.wikipedia.org/wiki/Bubble_sort
46+
*原理:两两比较顺序,如果顺序错误则交换位置
47+
*
48+
*/
49+
50+
function bubbleSort(arr){
51+
var
52+
i = arr.length -1,
53+
j;
54+
55+
for (; i >= 0; i--) {
56+
57+
for (j = i - 1; j >= 0; j--) {
58+
if (arr[j] > arr[j+1]) {
59+
arr[j] = [ arr[j+1], arr[j+1]=arr[j] ][0];
60+
}
61+
}
62+
63+
}
64+
65+
return arr;
66+
}

0 commit comments

Comments
 (0)